summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/binutils
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2022-01-24 22:11:47 +0300
committerEd Tanous <ed@tanous.net>2022-02-03 19:56:47 +0300
commit595f63084d313c9708cb435470e6c6dcbbbbe646 (patch)
treea4692ebf7c756a010417c6afa58a3885eee1b4b8 /poky/meta/recipes-devtools/binutils
parentca2f10c6ca6fcff34fecffdef048ee54b9dd2521 (diff)
downloadopenbmc-595f63084d313c9708cb435470e6c6dcbbbbe646.tar.xz
subtree updates
meta-raspberrypi: 90b3ac6fb3..836755370f: Alexandru Costache (3): conf/machine: Add Pi Zero 2 Wifi 64bit yocto machine linux-firmware-rpidistro: Package bcm43436 and bcm43436s firmware linux-raspberrypi: Bump to 5.10.78 Andrei Gherzan (14): raspberrypi-firmware: Bump to 20211007 linux-raspberrypi: Bump 5.10 to 5.10.76 linux-raspberrypi: Drop 5.4 README.md: Fix docs and minor tweaks docs: Bump copyright year README.md: Fix sponsor table README.md: Fix sponsor table take two docs: Fix RtD build docs: Add module dependency/requirement for RtD docs: Advertise raspberrypi0-2w-64 supported machine Update references to Yocto mailing list README.md: Fix the matrix chat link libwpe: Migrate build workaround from oe-core rpi-config: Take into consideration ENABLE_UART value of 0 Cameron Kellough (1): rpi-base.inc: Added gpio-poweroff overlay. Some machines need to have the kernel toggle a gpio when an external power source needs to shut off power to complete a shutdown and de-energize the processor. gpio-poweroff provides this functionality but was omitted from the kernel overlays brought oveer by the rpi-layer from the kernel. Signed-off-by: Cameron Kellough <cameron@telemetrak.com> Joel Winarske (1): mesa: Enable building vulkan driver Khem Raj (4): linux-firmware-rpidistro: Use bullseye branch parselogs: Update the error regexps to 5.10 kernel linux-raspberrypi: Upgrade to 5.10.81 weston-init: Add --continue-without-input option to weston Marcel Hamer (1): recipes: Update SRC_URI protocols for github Martin Jansa (1): rpi-config: don't trigger bbfatal for empty ENABLE_UART Peter A. Bigot (1): conf/machine: add variant Wi-Fi/BT drivers for CM4 and Pi 400 meta-openembedded: 2f6797d8d6..6b63095946: Alex Kiernan (2): ntpsec: Add recipe ntpsec: Add glibc-2.34/kernel-5.14 seccomp fixes Alexander Kanavin (23): libstatgrab: update 0.92 -> 0.92.1 open-vpm-tools: update 11.2.5 -> 11.3.5 libid3tag: add from oe-core libportal: add from oe-core gtkmm3: add gdk-pixbuf-native to satisfy meson 0.61 gjs: drop patch to satisfy meson 0.61 gnome-terminal: backport a meson 0.61 patch gnome-bluetooth: backport a meson 0.61 patch gnome-font-viewer: backport a meson 0.61 patch gnome-session: update 40.1.1 -> 41.3 gnome-settings-daemon: add a meson 0.61 patch gnome-shell: backport a meson 0.61 patch accountsservice: backport a meson 0.61 patch gnome-screenshot: backport a meson 0.61 patch evince: fix meson 0.61 builds gnome-calendar: fix meson 0.61 builds gthumb: fix meson 0.61 builds gedit: add a meson 0.61 patch gnome-disk-utility: add a meson 0.61 patch gnome-control-center: add a meson 0.61 patch gnome-photos: add a meson 0.61 patch dconf-editor: add a meson 0.61 patch network-manager-applet: add meson 0.61 patch Andreas Müller (111): xfce4-sensors-plugin: upgrade 1.3.95 -> 1.4.1 fftw: remove unused patch mozjs: Move back to recipes-extended - no meta-python specifics required Rename mozjs -> mozjs-91 to allow multiple versions of mozjs polkit: Adjust to mozjs-91 in DEPENDS mozjs-91: remove static library mozjs-78: Initial add graphene: enable introspection by default - gtk4 & mutter 41 require it graphene: extend to native and nativesdk graphene: Tidy up recipe a bit gtk4: initial add 4.4.0 gjs: upgrade 1.58.8 -> 1.70.0 mutter: upgrade 3.34.6 -> 41.0 gdm: upgrade 3.36.3 -> 41.0 upower: upgrade 0.99.11 -> 0.99.13 udisks2: upgrade 2.9.3 -> 2.9.4 gnome-settings-daemon: upgrade 3.36.1 -> 41.0 gnome-shell: upgrade 3.34.5 -> 41.0 gnome-shell-extensions: upgrade 3.34.2 -> 40.1 gnome-desktop: upgrade 3.38.8 -> 41.0 and give up '3' receipe name suffix gnome-session: upgrade 3.36.0 -> 40.1.1 gnome-control-center: upgrade 3.36.4 -> 41.1 gexiv2: upgrade 0.12.2 -> 0.14.0 gparted: upgrade 1.3.0 -> 1.3.1 gnome-backgrounds: upgrade 3.38.0 -> 41.0 gnome-tweaks: upgrade 3.34.0 -> 40.0 gnome-terminal: upgrade 3.40.2 -> 3.42.0 / meson build gnome-panel: upgrade 3.36.1 -> 3.38.0 grilo: upgrade 0.3.13 -> 0.3.14 grilo-plugins: upgrade 0.3.13 -> 0.3.14 mozjs-91: Fix build on powerpc gdm: Fix REQUIRED_DISTRO_FEATURES broken by adding introspection gnome-control-center: Add libhandy to DEPENDS gnome-backgrounds: Fix licenses poppler: upgrade 21.10.0 -> 21.11.0 xfce4-whiskermenu-plugin: upgrade 2.5.3 -> 2.6.2 ristretto: upgrade 0.11.0 -> 0.12.0 xfce4-cpugraph-plugin: upgrade 1.2.3 -> 1.2.5 xfce4-sensors-plugin: upgrade 1.4.1 -> 1.4.2 catfish: upgrade 4.16.0 -> 4.16.3 mousepad: upgrade 0.5.5 -> 0.5.7 libxfce4ui: upgrade 4.16.0 -> 4.16.1 fluidsynth: upgrade 2.2.2 -> 2.2.3 vlc: Fix build with un-renameed native libtool fltk: upgrade 1.3.7 -> 1.3.8 xfce4-whiskermenu-plugin: upgrade 2.6.2 -> 2.7.1 ristretto: upgrade 0.12.0 -> 0.12.1 mousepad: upgrade 0.5.7 -> 0.5.8 poppler: upgrade 21.11.0 -> 21.12.0 menulibre: upgrade 2.2.1 -> 2.2.3 fluidsynth: upgrade 2.2.3 -> 2.2.4 gegl: upgrade 0.4.30 -> 0.4.34 gimp: upgrade 2.10.24 -> 2.10.30 mpv: upgrade 0.33.1 -> 0.34.0 gupnp: upgrade 1.2.7 -> 1.4.1 gupnp: merge recipe with inc-file gupnp-av: upgrade 0.12.11 -> 0.14.0 / build with mesa gupnp-av: merge recipe with inc-file gupnp-dlna: upgrade 0.10.5 -> 0.12.0 / build with meson gupnp-igd: upgrade 0.2.5 -> 1.2.0 / build with meson gupnp-tools: upgrade 0.10.0 -> 0.10.2 / prettify recipe gtkwave: upgrade 3.3.109 -> 3.3.111 blueman: upgrade 2.2.1 -> 2.2.3 geany: upgrade 1.37.1 -> 1.38 geany-plugins: upgrade 1.37 -> 1.3.8 gnuplot: upgrade 5.4.1 -> 5.4.2 gtksourceview5: initial add 5.2.0 amtk: upgrade 5.2.0 -> 5.3.1 / build with meson evince: upgrade 40.4 -> 41.3 evolution-data-server: upgrade 3.40.2 -> 3.42.2 gnome-autoar: upgrade 0.3.3 -> 0.4.1 / build with meson gnome-calculator: upgrade 40.1 -> 41.1 gnome-calendar; upgrade 41.0 -> 41.2 gnome-control-center: upgrade 41.1 -> 41.2 gnome-desktop: upgrade 41.0 -> 41.2 gnome-disk-utility: upgrade 40.1 -> 41.0 gnome-flashback: upgrade 3.40.0 -> 3.42.1 gnome-font-viewer: upgrade 40.0 -> 41.0 gnome-screenshot: upgrade 40.0 -> 41.0 gnome-shell: upgrade 41.0 -> 41.2 gnome-shell-extensions: upgrade 41.0 -> 41.1 gnome-system-monitor: upgrade 40.1 -> 41.0 gnome-terminal: upgrade 3.42.0 -> 3.42.1 gsound: upgrade 1.0.2 -> 1.0.3 / build with meson gthumb: upgrade 3.10.3 -> 3.12.0 gtksourceview4: upgrade 4.8.1 -> 4.8.2 libgsf: upgrade 1.14.47 -> 1.14.48 libgtkstylus: remove metacity: upgrade 3.40.0 -> 3.42.0 mutter: upgrade 41.0 -> 41.2 nautilus: upgrade 40.2 -> 41.1 gnome-shell: Add gnome-desktop to RDEPENDS Drop gnome-desktop3 providers Rename gnome-menus3 -> gnome-menus packagegroup-gnome-desktop: Mark TUNE_PKGARCH specific mozjs-78: Shelve breaking lib rename/linking & split lib to separate package mozjs-78: renumber patches gnome-shell-extensions: Enable gnome-classic session for wayland zenity: Upgrade 3.32.0 -> 3.41.0 / meson build / rework yelp: upgrade 41.1 -> 41.2 yelp-xsl: upgrade 41.0 -> 41.1 usermode: upgrade 1.113 -> 1.114 sysprof: upgrade 3.42.0 -> 3.42.1 gnome-terminal: upgrade 3.42.1 -> 3.42.2 gnome-panel: upgrade 3.38.0 -> 3.42.0 gnome-autoar: upgrade 0.4.1 -> 0.4.2 evolution-data-server: upgrade 3.42.2 -> 3.42.3 poppler: upgrade 21.12.0 -> 22.01.0 exo: upgrade 4.16.1 -> 4.16.3 imsettings: upgrade 1.8.2 -> 1.8.3 thunar: upgrade 4.16.8 -> 4.16.9 Andrei Gherzan (2): mosquitto: Don't depends on dlt-daemon unconditionally python3-pymetno: Introduce recipe on 0.7.0 Andrey Zhizhikin (1): gpsd: fix clang buid via export CC explicitly Armin Kuster (6): ldns: update to 1.8.1 strongswan: provide PACKAGECONFIG for cureve25519 strongswan: add tpm PACKAGECONFIG strongswan: add integrity options strongswan: remove redundant DEPENDS wireshark: update to latest stable 3.4.11 Bartosz Golaszewski (6): python3-email-validator: new package libgpiod: ptest: rrecommend python3-unittest when building python tests libgpiod: ptest: rrecommend coreutils libgpiod: ptest: redirect stderr to stdout for test executables cmatrix: new package python3-zeroconf: bump version 0.36.13 -> 0.38.1 Bhargav Das (1): python3-colorzero: add recipe for python colorzero Bruce Ashfield (2): vboxguestdrivers: fix build against 5.15 kernel/libc-headers headers python: remove recipes imported to oe-core Changqing Li (5): mozjs-78: fix do_configure failure mozjs-91: fix do_configure failure mozjs-91/mozjs-78: fix compile failure on centos7 php: correct module name and library name postgresql: fix CVE-2021-23214,CVE-2021-23222 Christian Eggers (5): gpsd: remove obsolete files from FILES:${PN}-dev gpsd: remove obsolete libgpsd package gpsd: remove obsolete files from FILES:gps-utils gpsd: list files for gps-utils individually python3-gcovr: add recipe Claude Bing (2): php: update from 7.4.21 to 8.0.12 php: use qemu wrapper to build minilua Claus Stovgaard (3): Added usbip-tools for kernel USB/IP Add gutenprint to meta-oe Add pycups - python bindings for CUPS Ed Tanous (1): Update to new version of boost-uri Fathi Boudra (1): makedumpfile: upgrade from 1.6.9 to 1.7.0 Geoff Parker (2): python3-cchardet: add BBCLASSEXTEND = "native nativesdk" python3-aiosignal, python3-frozenlist: Add native & nativestdk package support Gianfranco (2): vboxguestdrivers: upgrade 6.1.28 -> 6.1.30 vboxguestdrivers: drop md5sum from SRC_URI. He Zhe (1): protobuf: Fix static init fiasco Hongxu Jia (5): ostree: add nativesdk support ostree: use Yocto mirror ostree: workaround compile error with option gcc option -Og libblockdev: Do not include duplicate entries in bd_lvm_lvs output grubby: fix conflict with debianutils Jacob Kroon (1): Revert "ccid: Fix floating runtime dependency on flex" Jan Vermaete (6): netdata: Using the github.com release + upstream_check. netdata: from 1.22.1 to 1.32.0 netdata: version bump from 1.32.0 to 1.32.1 netdata: fixed some oelint-adv issues in the recipe. netdata: do not send anonymous statistics by default. netdata: fix for commit 8554624cc7f84e6b63b2ea4b94ee5fd2821021ca Jeremy A. Puhlman (1): cdrkit: remove ${PN} from ${PN}-dev RDEPENDS Jeremy Kerr (4): mctp: upgrade to v1.0 mctp: install dbus service configuration contrib: allow override-style syntax for vars & routines contrib: fix python warnings for oe-stylize Joshua Watt (8): colord: introspection is not valid meson option gdm: introspection is not valid meson option gnome-settings-daemon: introspection is not valid meson option gnome-shell: introspection is not valid meson option gnome-control-center: Fixup polkit directory permissions gnome-online-accounts: Switch back to libsoup2 graphene: Move from meta-gnome -> meta-oe jemalloc: Fix license file Kai Kang (1): libqb: use branch main Khem Raj (97): bitwise: Fix build with latest ncurses 6.3+ libcdio: Fix build with ncurses 6.3+ nmon: Upgrade to 16m sysdig: Fix build with ncurses 6.3+ iptraf-ng: Upgrade to 1.2.1 tiptop: Fix build with ncurses 6.3+ mtr: Fix build with ncurses 6.3+ mtr: Explicitly use branch= in SRC_URI liburing: Use libc mmap() wrapper instead of calling __NR_mmap syscall directly protobuf: Upgrade to 3.19.1 protobuf: Disable tailcall on mips/clang packagegroup-meta-python: Add python3-imgtool python3-prctl: Use https protocol for git fetcher mozjs-78: Check for big-endian icu data file existence before creating it mozjs-78: Set X lib/include paths mozjs-78: Pass C/C++ flags to js configure libjs-jquery-globalize: Use a proper SHA in SRCREV instead of tag iptraf-ng: Create /var/log and /var/lib subdirs at runtime gstd: Remove empty /var/volatile/log monkey: Keep /var/volatile empty hiawatha: Create /var/log /var/run at runtime python3-kivy: Use branch parameter in SRC_URI mdns: Upgrade to 1310.140.1 packagegroup-meta-networking: Enable mdns on musl systems ntpsec: Disable seccomp on musl/rv32 ntpsec: Disable documentation packagegroup-meta-networking: Add ntpsec sdbus-c++-libsystemd: Fix build with kernel 5.15+ mctp: Fix build with 5.15+ kernel headers packagegroup-meta-python.bb: Add python3-pytz-deprecation-shim packagegroup-meta-oe: Add fwupd and fwupd-efi protobuf-c: Export native protoc linpack: Build both sp and dp binaries php: Build minilua for build host xf86-video-ati: Upgrade to 19.1.0 sdbus-c++-libsystemd: Upgrade to 249.5 xf86-video-nouveau: fixup driver for new X server ABI tracker: introspection is not valid meson option gnome-desktop: introspection is not valid meson option libmediaart: introspection is not valid meson option libgweather: introspection is not valid meson option tepl: introspection is not valid meson option gjs: introspection is not valid meson option tracker-miners: introspection is not valid meson option gedit: introspection is not valid meson option tracker,tracker-miners: Upgrade to 3.2.1 gnome-tweaks: introspection is not valid meson option colord-gtk: introspection is not valid meson option packagegroup-meta-python: Add python3-gcovr ippool: silence a DeprecationWarning packagegroup-meta-oe: Add pim435 influxdb: Upgrade to 1.8.10 influxdb: Fix build with Go 1.17 on x86_64 packagegroup-core-clutter: Mark TUNE_PKGARCH specific packagegroup-xfce-base: Mark TUNE_PKGARCH specific libcamera: Fix build break on musl meta-networking,meta-python: Fix README for yocto check layer gjs: Link with libatomic on rv32 ntpsec: Disable seccomp on riscv32 libunix-statgrab: Use compiler driver for linking as well tbb: Upgrade to 2021.4.0 packagegroup-meta-oe: Add unifex gjs: Fix build failures with meson 0.60.2 packagegroup-meta-perl: Add new packages packagegroup-meta-python: Add python3-pymetno yelp: Add option to support webkit2gtk-4-0 surf: Add soup3 patch conditionally netdata: Link libatomic on mips gssdp: Use sniffer only when gnome layer is in mix packagegroup-meta-oe: Add graphene inotify-tools: Upgrade to 3.21.9.6 inotify-tools: Disable -Werror python3-matplotlib: Generate correctly names setup config file inotify-tools: Fix build on musl libkcapi: Fix build with musl packagegroup-meta-oe: Add gutenprint, python3-pycups and usbip-tools tvheadend: Disable dvbscan pkcs11-helper: Fix build with nss >= 3.73.1 tbb: Disable LTO on rv64 packagegroup-meta-python: Add python3-colorzero packagegroup-meta-oe: Add cmatrix pcp: Fix build to exclude qt5 packagegroup-meta-oe: Add dool and pcp nautilus: Fix build with libportal >= 0.5 influxdb: Enable network during do_compile meta-oe: Use setuptools3-base thunar: Depend on libxml-parser-perl-native python3-matplotlib: Do not use setuptools_scm_git_archive python3-pytest-helpers-namespace: Enable network during do_compile python3-pybind11: Use setuptools3 instead of distutils3 functions pcp: Fix build race condition tnftp: Add missing header stdc-predef.h jemalloc: Fix build with glibc 2.35+clang packagegroup-meta-oe: Add duktape iotop: Use lld with clang on arm meta-xfce: Convert catfish and menulibre to use setuptools3 sdbus-c++-libsystemd: Fix build on musl Konrad Weihmann (3): python3-wtforms: add missing dependencies python3-execnet: depend on setuptools-scm python3-lazy-object-proxy: upgrade 1.6.0 > 1.7.1 Lei Maohui (1): sysprof: Added json-glib into DEPENDS to fix build error. Leif Middelschulte (1): dbus-daemon-proxy: add missing `return` statement Leon Anavi (92): python3-qrcode: Upgrade 7.3 -> 7.3.1 python3-bidict: Upgrade 0.21.2 -> 0.21.4 python3-pint: Upgrade 0.17 -> 0.18 python3-prettytable: Upgrade 2.2.1 -> 2.3.0 python3-astroid: Upgrade 2.8.2 -> 2.8.4 python3-isort: Upgrade 5.9.3 -> 5.10.0 python3-aenum: Upgrade 3.1.0 -> 3.1.2 python3-natsort: Upgrade 7.1.1 -> 8.0.0 python3-cachecontrol: Upgrade 0.12.6 -> 0.12.9 python3-wrapt: Upgrade 1.13.2 -> 1.13.3 python3-prettytable: Upgrade 2.3.0 -> 2.4.0 python3-imageio: Upgrade 2.10.1 -> 2.10.3 python3-pytz-deprecation-shim: Add recipe python3-tzlocal: Upgrade 4.0.1 -> 4.1 python3-soupsieve: Upgrade 2.2.1 -> 2.3 python3-configparser: Upgrade 5.0.2 -> 5.1.0 python3-yappi: Upgrade 1.3.2 -> 1.3.3 python3-pydicti: Upgrade 1.1.4 -> 1.1.6 python3-zeroconf: Upgrade 0.36.9 -> 0.36.12 python3-yarl: Upgrade 1.7.0 -> 1.7.2 python3-elementpath: Upgrade 2.3.2 -> 2.4.0 python3-astroid: Upgrade 2.8.4 -> 2.8.5 python3-coverage: Upgrade 6.1.1 -> 6.1.2 python3-aenum: Upgrade 3.1.3 -> 3.1.5 python3-zeroconf: Upgrade 0.36.12 -> 0.36.13 python3-bandit: Uprade 1.7.0 -> 1.7.1 python3-colorlog: Upgrade 6.5.0 -> 6.6.0 python3-soupsieve: Upgrade 2.3 -> 2.3.1 python3-cchardet: Add recipe python3-charset-normalizer: Add recipe python3-frozenlist: Add recipe python3-aiosignal: Add recipe python3-aiohttp: Upgrade 3.8.0 -> 3.8.1 packagegroup-meta-python.bb: Add new packages python3-eventlet: Upgrade 0.32.0 -> 0.33.0 python3-imageio: Upgrade 2.10.3 -> 2.10.5 python3-deprecated: Upgrade 1.2.12 -> 1.2.13 python3-parso: Add runtime dependencies python3-jedi: Upgrade 0.18.0 -> 0.18.1 python3-prompt-toolkit: Upgrade 3.0.21 -> 3.0.22 python3-imageio: Upgrade 2.10.5 -> 2.11.0 python3-cmd2: Upgrade 2.3.0 -> 2.3.1 python3-simplejson: Upgrade 3.17.5 -> 3.17.6 python3-aiohue: Upgrade 2.6.3 -> 3.0.1 python3-imageio: Upgrade 2.11.0 -> 2.11.1 python3-marshmallow: Upgrade 3.14.0 -> 3.14.1 python3-jsonpointer: Upgrade 2.1 -> 2.2 python3-humanize: Upgrade 3.12.0 -> 3.13.1 python3-cachecontrol: Upgrade 0.12.9 -> 0.12.10 python3-prompt-toolkit: Upgrade 3.0.22 -> 3.0.24 python3-isodate: Upgrade 0.6.0 -> 0.6.1 python3-pychromecast: Upgrade 10.1.1 -> 10.2.3 python3-imageio: Upgrade 2.13.3 -> 2.13.5 python3-psutil: Upgrade 5.8.0 -> 5.9.0 python3-astroid: Upgrade 2.9.0 -> 2.9.2 python3-robotframework: Upgrade 4.1.2 -> 4.1.3 python3-cantools: Upgrade 37.0.0 -> 37.0.1 python3-diskcache: Upgrade 5.3.0 -> 5.4.0 python3-typeguard: Upgrade 2.13.2 -> 2.13.3 python3-huey: Upgrade 2.4.2 -> 2.4.3 python3-ujson: Upgrade 5.0.0 -> 5.1.0 python3-google-api-core: Upgrade 2.2.0 -> 2.3.2 python3-astroid: Upgrade 2.9.2 -> 2.9.3 python3-urllib3: Upgrade 1.26.7 -> 1.26.8 python3-rdflib: Upgrade 6.0.2 -> 6.1.1 python3-bitarray: Upgrade 2.3.4 -> 2.3.5 python3-asyncio-throttle: Add recipe python3-aiohue: Upgrade 3.0.1 -> 3.0.11 python3-requests: Upgrade 2.26.0 -> 2.27.1 python3-natsort: Upgrade 8.0.0 -> 8.0.2 python3-sentry-sdk: Upgrade 1.4.3 -> 1.5.2 python3-regex: Upgrade 2021.10.8 -> 2021.11.10 python3-wtforms: Upgrade 3.0.0 -> 3.0.1 python3-charset-normalizer: Upgarde 2.0.7 -> 2.0.10 python3-gmpy2: Upgrade 2.1.1 -> 2.1.2 python3-jdatetime: Upgrade 3.6.4 -> 3.8.1 python3-fasteners: Upgrade 0.16.3 -> 0.17.2 python3-jsmin: Upgrade 3.0.0 -> 3.0.1 python3-croniter: Upgrade 1.1.0 -> 1.2.0 python3-fastjsonschema: Upgrade 2.15.1 -> 2.15.3 python3-aenum: Upgrade 3.1.5 -> 3.1.6 python3-decorator: Upgrade 5.1.0 -> 5.1.1 python3-pythonping: Upgrade 1.1.0 -> 1.1.1 python3-dnspython: Upgrade 2.1.0 -> 2.2.0 python3-frozenlist: Upgrade 1.2.0 -> 1.3.0 python3-simpleeval: Upgrade 0.9.10 -> 0.9.12 python3-twine: Upgrade 3.4.1 -> 3.7.1 python3-pillow: Upgrade 8.3.2 -> 9.0.0 python3-pycocotools: Upgrade 2.0.2 -> 2.0.4 python3-paramiko: Upgrade 2.9.1 -> 2.9.2 python3-sentry-sdk: Upgrade 1.5.2 -> 1.5.3 imageio: Upgrade 2.13.5 -> 2.14.0 Luca Boccassi (2): lvm2: do not install systemd units/initscripts when building native SDK tools Add recipe for duktape Marek Vasut (4): libsdl2-ttf: Remove incorrect x11 from REQUIRED_DISTRO_FEATURES freerdp: Upgrade 2.3.0 -> 2.4.1 freerdp: Add missing libusb1 dependency freerdp: Make PCSC dependency optional Mark Hatle (1): python3-matplotlib: Disable automatic download during do_compile Markus Volk (5): libgdata: add vala PACKAGECONFIG gspell: inherit vala gmime: inherit vala evolution-data-server: cleanup; enable vala introspection folks: initial add recipe Martin Jansa (7): nodejs: fix build without scrypt unicode-ucd: set downloadfilename to include PV ntpsec: require x11 in DISTRO_FEATURES libgusb: add PACKAGECONFIG for vapi and keep it enabled only when introspection is Revert "libgusb: Use the correct args to disable vala support" packagegroup-meta-multimedia: include x265 only with commercial in LICENSE_FLAGS_WHITELIST simple-mtpfs: add dependency on autoconf-archive Matthias Klein (2): paho-mqtt-c: upgrade 1.3.8 -> 1.3.9 paho-mqtt-cpp: new package Mauro Anjo (2): Upgrade libcamera libcamera: Update to latest commit Michael Vetter (1): jasper: upgrade 2.0.26 -> 2.0.33 Mingli Yu (6): mariadb: Fix openssl 3.x compatibility libteam: switch to python3 libteam: improve the ptest output php: Upgrade to 8.1.0 php: avoid textrel QA Issue warning python3-lxml: check the return value Nisha Parrakat (1): nodejs_16.11.1.bb: only handle npm if configured Oleksandr Kravchuk (48): python3-protobuf: update to 3.19.0 python3-google-api-core: update to 2.2.0 python3-google-api-python-client: update to 2.28.0 python3-imageio: update to 2.10.1 python3-pybind11: update to 2.8.1 liburing: update to 2.1 protobuf: update to 3.19.0 wolfssl: update to 5.0.0 fb-test: fix SRC_URI bmon: fix PV cpuid: update to 20211129 gtk4: set UPSTREAM_CHECK_REGEX to stable versions iwd: update to 1.20 libnma: update to 1.8.32 python3-astroid: update to 2.9.0 python3-coverage: update to 6.2 python3-croniter: update to 1.1.0 python3-diskcache: update to 5.3.0 python3-graphviz: update to 0.19 python3-imageio: update to 2.13.3 python3-iso8601: update to 1.0.2 python3-ldap: update to 3.4.0 python3-lz4: update to 3.1.10 python3-matplotlib: update to 3.5.1 python3-pymetno: update to 0.9.0 python3-pywbem: update to 1.3.0 python3-redis: update to 4.0.2 python3-wtforms: update to 3.0.0 soci: update to 4.0.2 uftrace: update to 0.11 librdkafka: update to 1.8.2 gparted: add UPSTREAM_CHECK_URI libwacom: update to 1.12 libsrtp: update to 2.4.2 dbus-cxx: update to 2.1.0 sysprof: update to 3.42.0 gssdp: update to 1.4.0.1 libkcapi: update to 1.3.1 python3-lxml: update to 4.7.1 python3-icu: update to 2.8 python3-googleapis-common-protos: update to 1.54.0 python3-gevent: update to 21.12.0 python3-twitter: update 4.4.0 python3-contextlib2: update to 21.6.0 simple-mtpfs: update to 0.4.0 xl2tpd: update to 1.3.16 python-cantools: update to 37.0.0 lirc: replace setuptools3-bas with distutils-common-base Ovidiu Panait (1): syslog-ng: adjust control socket location Patrick Williams (1): unifex: add recipe Peter Kjellerstedt (16): libssh: Support building for native and nativesdk corosync: Clean up leftover support for qdevice and qnetd corosync: Do not install the /var/log/cluster directory collectd: Do not install /var/log atop: Do not install the /var/log/atop directory openflow: Create /var/log/openflow in runtime mongodb: A little clean up mongodb: Create /var/log/mongodb in runtime opensaf: Create /var/log/opensaf/saflog in runtime opensaf: Make sure a file needed by opensafd.service is not removed gattlib: Explicitly disable Python support googletest: Switch branch from master to main libsrtp: Add support for specifying the crypto library nodejs: Drop workaround for a Python 2 dependency nodejs: Drop workaround for an absolute path in the npm shebang nodejs: A little clean up Philip Balister (1): fftw: Update to fftw-3.3.10 Philippe Coval (7): lv-drivers: Lint recipe lv-lib-png: Lint recipe lvgl: Introduce global variable for configuration lvgl: Add hints about using configuration variables lvgl: Support external wayland config lvgl: Update to 8.1.0 pim435: Add recipe for C implementation for userspace driver app Pierre-Jean Texier (1): libmxml: upgrade 3.2 -> 3.3 Ramon Fried (1): bitwise: Upgrade 0.42 -> 0.43 Richard Hughes (4): libgusb: Use the correct args to disable vala support libjcat: Update to 0.1.9 libxmlb: Update to 0.3.6 fwupd: Update to 1.7.3 Richard Purdie (1): recipes: Update SRC_URI branch and protocols Robert Joslyn (2): htop: Update to 3.1.2 postgresql: Update to 14.1 Ross Burton (58): python3-imgtool: add recipe modemmanager: remove intltool-native DEPENDS python3-cryptography: backport patches to make this work against OpenSSL 3 fwupd-efi: add new recipe fwupd: add new recipe nginx: use ln -rs libxmlb: put binary into separate package imlib2: clarify license xmlrpc-c: set precise BSD license xmlrpc-c: remove unused libxml2 dependency xmlrpc-c: clean up PACKAGECONFIG xmlrpc-c: use gnu-configize dash: set precise BSD license sg3-utils: set precise BSD license nodejs: set precise BSD license libkcapi: remove DEPENDS on target libtool libkcapi: set precise BSD license pcsc-lite: set precise BSD license python3-cryptography: set precise BSD license python3-crypto-vectors: set precise BSD license python3-gevent: use system libraries instead of embedding python3-gevent: update license python3-lxml: set precise BSD license python3-posix-ipc: set precise BSD license python3-posix-ipc: remove spurious dependencies python3-pyzmq: set precise BSD license fwupd: upgrade to 1.7.2 fwupd: fix dependency typo net-snmp: use precise BSD license gnome-themes-extra: set correct SRC_URI qpdf: remove obsolete support for renamed libtool php: remove obsolete support for renamed libtool dhcp-relay: remove obsolete support for renamed libtool apache2: remove obsolete support for renamed libtool xfsdump: remove obsolete support for renamed libtool unbound: remove obsolete support for renamed libtool cpufrequtils: remove obsolete support for renamed libtool gtk+: remove obsolete support for renamed libtool apache-websocket: remove obsolete support for renamed libtool srecord: remove obsolete support for renamed libtool srecord: add libgcrypt PACKAGECONFIG srecord: properly initialize libtool dhcp-relay: fix rebuilds tbb: enable native/nativesdk builds fwts: do out-of-tree builds tbb: upgrade to 2021.5.0 python3-scapy: remove redundant pycrypto RDEPENDS python3-smbbus: use DISTUTILS_SETUP_PATH python3-pycrypto: remove obsolete pycrypto module python3-smbus: use setuptools python3-greenlet: remove redundant distutils3 inherit python3-hexdump: remove python3-pyparted: port to setuptools python3-dbussy: port to setuptools cxxtest: move to setuptools iotop: move to the C port of iotop sanlock: port to setuptools pyxdg: upgrade and remove distutils Sakib Sajal (2): io-compress-lzma-perl: add recipe for version 2.096 nss: upgrade 3.64 -> 3.73.1 Salman Ahmed (2): openldap: upgrade 2.4.58 -> 2.5.8 python3-ldap: for openldap v2.5.8, link with libldap instead of libldap_r Sean Nyekjaer (1): msgpack-cpp: fix msgpack-cpp is a header only library Stanislav Angelovic (1): Bump sdbus-c++ to version v1.0.0 Tim Orling (12): python3-gammu: add recipe for v3.2.4 python3-setuptools-rust-native: add v1.1.2 recipe python3-pyruvate: add recipe for v1.1.2 python3-pytest-subtests: upgrade 0.5.0 -> 0.6.0 python3-cryptography-vectors: upgrade 35.0.0 => 36.0.1 python3-cryptography: upgrade 3.3.2 -> 36.0.1 gammu: upgrade 1.32.0 -> 1.42.0 tiptop: update download URL and HOMEPAGE cmocka: use https protocol for fetching pyo3.bbclass: add class for PyO3 cross-compilation setuptools3_rust.bbclass: setuptoools Rust plugin python3-pyruvate: disable 64 bit atomics for mips Trevor Gamblin (7): python3-pycparser: RSUGGESTS cpp and cpp-symlinks libnftnl: upgrade 1.2.0 -> 1.2.1 python3-django: upgrade 3.2.5 -> 3.2.10 libnftnl: add ptest python3-django: upgrade 2.2.25 -> 2.2.26 python3-django: upgrade 3.2.10 -> 3.2.11 python3-django: Add recipe for 4.0.1 Wang Mingyu (10): gsl: upgrade 2.7 -> 2.7.1 mozjs: upgrade 91.2.0 -> 91.4.0 libgusb: upgrade 0.3.8 -> 0.3.9 python3-pychromecast: upgrade 10.1.0 -> 10.1.1 python3-websocket-client: upgrade 1.2.1 -> 1.2.3 python3-sqlalchemy: upgrade 1.4.27 -> 1.4.28 dnf-plugin-tui: Fix bug when generating CSV file sdbus-c++-tools: upgrade 1.0.0 -> 1.1.0 sdbus-c++-libsystemd: upgrade 249 -> 250.3 fmt: upgrade 8.0.1 -> 8.1.1 William A. Kennington III (2): ipmitool: Split ipmievd into a separate package jq: upgrade 1.6 -> 2021-10-24 git Windel Bouwman (1): python3-coloredlogs: Added nativesdk Xu Huan (35): python3-websockets: upgrade 10.0 -> 10.1 python3-xlsxwriter: upgrade 3.0.1 -> 3.0.2 python3-socketio: upgrade 5.4.1 -> 5.5.0 python3-pymongo: upgrade 3.12.0 -> 4.0 python3-pyephem: upgrade 4.1 -> 4.1.1 python3-pycparser: upgrade 2.20 -> 2.21 python3-aiofiles: upgrade 0.7.0 -> 0.8.0 python3-bitstruct: upgrade 8.11.1 -> 8.12.1 python3-cmd2: upgrade 2.3.1 -> 2.3.3 python3-configparser: upgrade 5.1.0 -> 5.2.0 python3-rsa: upgrade 4.7.2 -> 4.8 python3-django: upgrade 2.2.24 -> 2.2.25 python3-gnupg: upgrade 0.4.7 ->0.4.8 python3-graphviz: upgrade 0.19 -> 0.19.1 python3-gmpy2: upgrade 2.1.0rc1 -> 2.1.1 python3-grpcio: upgrade 1.41.1 -> 1.43.0 python3-sqlalchemy: upgrade 1.4.28 ->1.4.29 python3-pyro4: upgrade 4.81 -> 4.82 python3-huey: upgrade 2.4.1 -> 2.4.2 python3-msgpack: upgrade 1.0.2 -> 1.0.3 python3-smpplib: upgrade 2.2.0 -> 2.2.1 python3-wheel: upgrade 0.37.0 -> 0.37.1 python3-meh: upgrade 0.50 -> 0.50.1 python3-pandas: upgrade 1.3.4 -> 1.3.5 python3-paramiko: upgrade 2.8.0 ->2.9.1 python3-parso: upgrade 0.8.2 -> 0.8.3 python3-protobuf: upgrade 3.19.0 ->3.19.3 python3-pymongo: upgrade 4.0 -> 4.0.1 python3-pynacl: upgrade 1.4.0 -> 1.5.0 python3-pytest-timeout: upgrade 2.0.1 -> 2.0.2 python3-socketio: upgrade 5.5.0 -> 5.5.1 python3-argcomplete upgrade 1.12.3 -> 2.0.0 python3-async-timeout: upgrade 4.0.0 -> 4.0.2 python3-engineio: upgrade 4.3.0 -> 4.3.1 python3-google-api-python-client: upgrade 2.33.0 -> 2.36.0 Yi Zhao (31): netplan: fix hardcoded path for /lib/netplan libssh: use https instead of git in SRC_URI strongswan: add required kernel modules to RRECOMMENDS libldb: upgrade 2.3.0 -> 2.3.2 samba: upgrade 4.14.8 -> 4.14.10 libtalloc: fix pyext_PATTERN for cross compilation libtdb: fix pyext_PATTERN for cross compilation libtevent: fix pyext_PATTERN for cross compilation libldb: fix pyext_PATTERN for cross compilation samba: fix pyext_PATTERN for cross compilation samba: add pyldb to rdepends for samba-python3 samba: update cross-answers files openldap: fix parallel build failure openldap: upgrade 2.5.8 -> 2.5.9 openldap: fix strip issue with new patch postfix: upgrade 3.6.2 -> 3.6.3 openipmi: upgrade 2.0.31 -> 2.0.32 xmlsec1: enable native build upower: add UPSTREAM_CHECK_GITTAGREGEX lvm2: add UPSTREAM_CHECK_GITTAGREGEX ndctl: add UPSTREAM_CHECK_GITTAGREGEX nftables: upgrade 1.0.0 -> 1.0.1 ipset: upgrade 7.11 -> 7.15 libnetfilter-queue: upgrade 1.0.3 -> 1.0.5 bridge-utils: upgrade 1.7 -> 1.7.1 iscsi-initiator-utils: upgrade 2.1.4. -> 2.1.5 openldap: ignore the mkdir errors in Makefile tnftp: upgrade 20151004 -> 20210827 dracut: upgrade 051 -> 055 tree: upgrade 2.0.0 -> 2.0.1 postfix: upgrade 3.6.3 -> 3.6.4 Zheng Ruoqin (4): spitools: upgrade 1.0.0 -> 1.0.1 python3-rdflib: upgrade 6.0.0 -> 6.0.2 python3-typeguard: upgrade 2.13.0 -> 2.13.2 python3-ujson: upgrade 4.2.0 -> 4.3.0 leimaohui (5): dstat: Deleted terminated project. pcp: Added a new recipe which provides dstat command. dool: Added a new OSS that forked from dstat project. xrdp: Fixed build error with openssl 3.0 and upgraded from 0.9.17 to 0.9.18. xorg-xrdp: Upgraded from 0.2.5 to 0.2.18. mk (1): python3-marshmallow: add recipe at version 3.14.0 wangmy (79): avro-c: upgrade 1.10.2 -> 1.11.0 botan: upgrade 2.18.1 -> 2.18.2 c-ares: upgrade 1.17.2 -> 1.18.1 grpc: upgrade 1.41.0 -> 1.41.1 libcrypt-openssl-guess-perl: upgrade 0.13 -> 0.14 fetchmail: upgrade 6.4.21 -> 6.4.23 iwd: upgrade 1.18 -> 1.19 debootstrap: upgrade 1.0.124 -> 1.0.126 jsoncpp: upgrade 1.9.4 -> 1.9.5 python3-aenum: upgrade 3.1.2 -> 3.1.3 python3-aiohttp: upgrade 3.7.4 -> 3.8.0 python3-async-timeout: upgrade 3.0.1 -> 4.0.0 python3-fastnumbers: upgrade 3.1.0 -> 3.2.1 python3-google-api-python-client: upgrade 2.28.0 -> 2.30.0 python3-graphviz: upgrade 0.17 -> 0.18 python3-httplib2: upgrade 0.20.1 -> 0.20.2 openvpn: Change the default cipher to AES-256-GCM for server configurations ctags: upgrade 5.9.20210905.0 -> 5.9.20211114.0 libmbim: upgrade 1.26.0 -> 1.26.2 smcroute: upgrade 2.5.3 -> 2.5.4 python3-absl: upgrade 0.15.0 -> 1.0.0 python3-alembic: upgrade 1.7.4 -> 1.7.5 python3-cmd2: upgrade 2.2.0 -> 2.3.0 python3-gast: upgrade 0.5.2 -> 0.5.3 python3-isort: upgrade 5.10.0 -> 5.10.1 python3-pychromecast: upgrade 9.3.1 -> 10.1.0 python3-sqlalchemy: upgrade 1.4.26 -> 1.4.27 wireguard-tools: upgrade 1.0.20210315 -> 1.0.20210914 cryptsetup: upgrade 2.4.1 -> 2.4.2 libqb: upgrade 2.0.3 -> 2.0.4 qpdf: upgrade 10.3.2 -> 10.4.0 tesseract: upgrade 4.1.1 -> 4.1.3 thin-provisioning-tools: upgrade 0.8.5 -> 0.9.0 xmlsec1: upgrade 1.2.32 -> 1.2.33 libnetfilter-log: upgrade 1.0.1 -> 1.0.2 python3-autobahn: upgrade 21.3.1 -> 21.11.1 pure-ftpd: upgrade 1.0.49 -> 1.0.50 icewm: upgrade 2.8.0 -> 2.9.0 ostree: upgrade 2021.5 -> 2021.6 ply: upgrade 2.1.1 -> 2.2.0 pps-tools: upgrade 1.0.2 -> 1.0.3 dnf-plugin-tui: Fix a bug with newer version rpm. snort: upgrade 2.9.18.1 -> 2.9.19 cloc: upgrade 1.90 -> 1.92 python3-scrypt: upgrade 0.8.18 -> 0.8.19 fio: upgrade 3.28 -> 3.29 mpich: upgrade 3.4.2 -> 3.4.3 nano: upgrade 5.9 -> 6.0 redis-plus-plus: upgrade 1.3.2 -> 1.3.3 satyr: upgrade 0.38 -> 0.39 qpdf: upgrade 10.4.0 -> 10.5.0 tree: upgrade 1.8.0 -> 2.0.0 libfile-slurper-perl: upgrade 0.012 -> 0.013 libio-socket-ssl-perl: upgrade 2.072 -> 2.073 python3-ipython: upgrade 7.28.0 -> 7.30.1 apache2: upgrade 2.4.51 -> 2.4.52 python3-pyhamcrest: upgrade 2.0.2 -> 2.0.3 python3-pymisp: upgrade 2.4.148 -> 2.4.152 weechat: upgrade 3.0 -> 3.4 wolfssl: upgrade 5.0.0 -> 5.1.0 pkcs11-helper: upgrade 1.27 -> 1.28 bats: upgrade 1.4.1 -> 1.5.0 doxygen: upgrade 1.9.2 -> 1.9.3 pcsc-tools: upgrade 1.5.7 -> 1.5.8 dnfdragora: upgrade 1.1.2 -> 2.1.2 iwd: upgrade 1.20 -> 1.21 python3-pyscaffold: upgrade 4.1.1 -> 4.1.4 python3-supervisor: upgrade 4.2.2 -> 4.2.4 rdma-core: upgrade 36.0 -> 38.0 nlohmann-json: upgrade 3.10.4 -> 3.10.5 protobuf: upgrade 3.19.1 -> 3.19.3 uriparser: upgrade 0.9.5 -> 0.9.6 mtr: upgrade 0.94 -> 0.95 networkmanager: upgrade 1.32.12 -> 1.34.0 cryptsetup: upgrade 2.4.2 -> 2.4.3 cups-filters: upgrade 1.27.2 -> 1.28.11 libmodbus: upgrade 3.1.6 -> 3.1.7 libsdl2-ttf: upgrade 2.0.15 -> 2.0.18 monit: upgrade 5.29.0 -> 5.30.0 zangrc (1): python3-smpplib: upgrade 2.1.0 -> 2.2.0 zhengruoqin (18): python3-cantools: upgrade 36.4.0 -> 36.5.0 python3-coverage: upgrade 6.0.2 -> 6.1.1 python3-cycler: upgrade 0.10.0 -> 0.11.0 python3-engineio: upgrade 4.2.1 -> 4.3.0 python3-grpcio-tools: upgrade 1.41.0 -> 1.41.1 python3-grpcio: upgrade 1.41.0 -> 1.41.1 python3-ujson: upgrade 4.3.0 -> 5.0.0 chrony: upgrade 4.1 -> 4.2 openvpn: upgrade 2.5.4 -> 2.5.5 samba: upgrade 4.14.10 -> 4.14.11 libnet-dns-perl: upgrade 1.32 -> 1.33 byacc: upgrade 20210808 -> 20211224 glmark2: upgrade 2021.02 -> 2021.12 python3-djangorestframework: upgrade 3.12.4 -> 3.13.1 python3-google-api-python-client: upgrade 2.30.0 -> 2.33.0 python3-networkx: upgrade 2.6.2 -> 2.6.3 python3-pyatspi: upgrade 2.38.1 -> 2.38.2 pugixml: upgrade 1.11.2 -> 1.11.4 poky: d78650b980..27ff420543: Adrian Freihofer (1): runqemu: support rootfs mounted ro Alejandro Hernandez Samaniego (3): tclibc-newlib: Supply missing /bin/sh target in newlib sdk tclibc-baremetal: Supply missing /bin/sh target in the baremetal sdk gcc-cross-canadian: Fix cross canadian compiler for baremetal targets Alexander Kanavin (262): runqemu: unbreak non-gl displays curl: submit patch upstream libxml2: submit patch upstream psplash: upgrade to latest revision python3-gitdb: upgrade 4.0.7 -> 4.0.9 python3-pyparsing: upgrade 3.0.0 -> 3.0.4 vala: upgrade 0.54.2 -> 0.54.3 asciidoc: upgrade 10.0.0 -> 10.0.1 lighttpd: upgrade 1.4.60 -> 1.4.61 stress-ng: upgrade 0.13.00 -> 0.13.06 mesa: upgrade 21.2.4 -> 21.2.5 linux-firmware: upgrade 20210919 -> 20211027 puzzles: upgrade to latest revision libsoup: upgrade 3.0.1 -> 3.0.2 libsoup-2.4: upgrade 2.74.0 -> 2.74.1 nghttp2: upgrade 1.45.1 -> 1.46.0 diffoscope: upgrade 188 -> 189 gawk: update 5.1.0 -> 5.1.1 cmake: update 3.21.3 -> 3.21.4 ffmpeg: update 4.4 -> 4.4.1 icu: update 69.1 -> 70.1 librsvg: update 2.52.2 -> 2.52.3 xf86-video-intel: update to latest commit cracklib: update 2.9.5 -> 2.9.7 cracklib: patches submitted upstream docbook-xml: patch is not upstreamable lrzsz: patch is not upstreamable libjitterentropy: upgrade 3.3.0 -> 3.3.1 gdbm: upgrade 1.19 -> 1.22 perl: backport gdbm 1.2x compatibility fixes valgrind: mark ptest-specific patch as inappropriate systemd-bootchart: submit musl patches upstream librsvg: set the needed atomic configuration flags directly per-target libxml2: mark patch as non-upstreamable libpcre/libpcre2: correct SRC_URI ovmf: submit patch upstream mesa-demos: drop glx option and patch mesa-demos: mark glew/glu patch as non-upstreamable xserver-xorg: update 1.20.13 -> 21.1.1 xserver-xorg: convert from autotools to meson xserver-xorg: add missing libtirpc dependency rust: update 1.56.0 -> 1.56.1 libgpg-error: update 1.42 -> 1.43 socat: upgrade 1.7.4.1 -> 1.7.4.2 kexec-tools: update 2.0.22 -> 2.0.23 python3-hypothesis: upgrade 6.24.0 -> 6.24.2 python3-numpy: upgrade 1.21.3 -> 1.21.4 python3-packaging: upgrade 21.0 -> 21.2 python3-pbr: upgrade 5.6.0 -> 5.7.0 python3-py: upgrade 1.10.0 -> 1.11.0 python3-setuptools: upgrade 58.3.0 -> 58.5.3 python3-pyparsing: update 3.0.4 -> 3.0.5 vulkan-samples: update to latest revision gnu-config: update to latest revision libgpg-error: mark patch as non-upstreamable valgrind: submit patch upstream meson: upgrade 0.59.2 -> 0.60.1 shared-mime-info: fix meson 0.60 builds webkitgtk: submit patches upstream webkitgtk: remove unneeded patch spirv-headers: PV should be 1.5.4 ovmf: submit patch upstream weston: submit patch upstream db: mark all patches as non-upstreamable unzip/zip: mark all patches as non-upstreamable automake: update 1.16.3 -> 1.16.5 libunistring: address automake 1.16.5 failures gettext: address automake 1.16.5 failures ccache: upgrade 4.4.2 -> 4.5 python3-hypothesis: upgrade 6.24.2 -> 6.24.3 python3-pyparsing: upgrade 3.0.5 -> 3.0.6 asciidoc: upgrade 10.0.1 -> 10.0.2 libpipeline: upgrade 1.5.3 -> 1.5.4 diffoscope: upgrade 190 -> 192 piglit: upgrade to latest revision systemd: upgrade 249.5 -> 249.6 xwayland: upgrade 21.1.2 -> 21.1.3 librstd-rs: submit patches upstream curl: update 7.79.1 -> 7.80.0 librsvg: update 2.52.3 -> 2.52.4 libsamplerate0: update 0.1.9 -> 0.2.2 patches: correct whitespace/spelling for Upstream-Status tags autoconf: add missing Upstream-Status to patches libxml2: add missing Upstream-Status tag unfs3: add missing Upstream-Status tag kea: add missing Upstream-Status to a patch libnl: add missing Upstream-Status tag rust-hello-world: add missing Upstream-Status to a patch numactl: add missing Upstream-Status to a patch expect: do not install examples, drop related patch slang: mark patch as inappropriate for upstream submission busybox: drop 0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch librsvg: submit system-deps patch upstream groff: include references to corresponding upstream commits in a patch logrotate: add a link to upstream review for one of the patch glib-2.0: submit patch upstream ell: remove unneeded patch apt: drop unneeded chunk from a musl patch, submit the rest upstream diffstat: remove unneeded patch dpkg: replace a patch with a tweak to an already existing sed fixup elfutils: update 0.185 -> 0.186 elfutils: submit patch upstream weston: mark patch as denied gptfdisk: submit patch upstream git: update 2.33.1 -> 2.34.0 cmake: update 3.21.4 -> 3.22.0 systemd: update 249.6 -> 249.7 vulkan: update 1.2.191.0 -> 1.2.198.0 bind: update 9.16.22 -> 9.16.23 python3-packaging: update 21.2 -> 21.3 python3-setuptools: update 58.5.3 -> 59.2.0 libcomps: remove unneeded patch libdnf: submit patches upstream meson: submit patch upstream perl-cross: submit patches upstream perl: submitted patch upstream testimage.bbclass: request the use of kvm by default go-helloworld: update to latest revision go-helloworld: test at runtime python3-rfc3339/3986-validator: correct upstream version check go: update 1.16.10 -> 1.17.3 ovmf: remove patch merged upstream insane.bbclass: add a check that Upstream-Status patch tag is present and correctly formed perl: replace a patch with a config option meson: configure and use generic exe_wrapper perlcross: do not copy ${S}/patches into sysroot python3: mark patch as inappropriate, with better explanation vala: submit patch upstream valgrind: remove unneeded patch lighttpd: remove unneeded (since meson switch) patch stress-ng: submit patch upstream zstd: submit patch upstream sudo: submit patch upstream adwaita-icon-theme: submit patch upstream igt-gpu-tools: correct patch status wayland: drop unnecessary patch xserver-xorg: remove unneeded patch kexec-tools: drop unneeded patch piglit: submit patches upstream systemtap: submit patch upstream ffmpeg: submit patch upstream libfm: submit patches upstream libgcrypt: submit patch upstream libgpg-error: submit patch upstream lttng: submit patches upstream rustfmt: remove the recipe python3-pycryptodome: update to 3.12.0 strace: update 5.14 -> 5.15 cups: update 2.3.3op2 -> 2.4.0 erofs-utils: update 1.3 -> 1.4 rust: update 1.56.1 -> 1.57.0 git: upgrade 2.34.0 -> 2.34.1 go: update 1.17.3 -> 1.17.4 libunwind: update 1.6.0 -> 1.6.2 libseccomp: update 2.5.2 -> 2.5.3 bitbake: fetch2/wget: do not hardcode tarball compressors in version check ruby: update 3.0.2 -> 3.0.3 glib-2.0: upgrade 2.70.1 -> 2.70.2 ell: upgrade 0.45 -> 0.46 ccache: upgrade 4.5 -> 4.5.1 mmc-utils: upgrade to latest revision python3-hypothesis: upgrade 6.24.3 -> 6.30.0 python3-markdown: upgrade 3.3.4 -> 3.3.6 python3-more-itertools: upgrade 8.11.0 -> 8.12.0 python3-pbr: upgrade 5.7.0 -> 5.8.0 python3-ruamel-yaml: upgrade 0.17.16 -> 0.17.17 python3-setuptools: upgrade 59.2.0 -> 59.4.0 freetype: upgrade 2.11.0 -> 2.11.1 harfbuzz: upgrade 3.1.1 -> 3.1.2 vulkan-loader: upgrade 1.2.198.0 -> 1.2.198.1 mesa: upgrade 21.3.0 -> 21.3.1 piglit: upgrade to latest revision webkitgtk: upgrade 2.34.1 -> 2.34.2 diffoscope: upgrade 192 -> 194 enchant2: upgrade 2.3.1 -> 2.3.2 libsoup: upgrade 3.0.2 -> 3.0.3 xxhash: upgrade 0.8.0 -> 0.8.1 kern-tools-native: check tags, not commits for new versions libid3tag: move to meta-oe bitbake: fetch: add a test for version check where compression changes meson: upgrade 0.60.1 -> 0.60.2 sstatetests: add a test for moving oe-core around in the filesystem serf: mark upstream as inactive rust-hello-world: test at runtime btrfs-tools: upgrade 5.15 -> 5.15.1 python3-hypothesis: upgrade 6.30.0 -> 6.31.4 elfutils: update patch submitted upstream python3-setuptools: upgrade 59.4.0 -> 59.5.0 lighttpd: upgrade 1.4.61 -> 1.4.63 vim: do not report upstream version check as broken harfbuzz: upgrade 3.1.2 -> 3.2.0 less: upgrade 590 -> 598 alsa: upgrade 1.2.5 -> 1.2.6 dpkg: update 1.20.9 -> 1.21.1 piglit: upgrade to latest revision go: upgrade 1.17.4 -> 1.17.5 repo: update 2.18 -> 2.19 libptytty: add recipe boost: update 1.77.0 -> 1.78.0 rxvt-unicode: upgrade 9.26 -> 9.30 diffoscope: upgrade 194 -> 196 debianutils: update 4.11.2 -> 5.5 libx11: update 1.7.3 -> 1.7.3.1 libsdl2: update 2.0.16 -> 2.0.18 runqemu: additional setting to force software rendering with sdl 2.0.18 cantarell-fonts: update 0.301 -> 0.303.1 go: log build id computations lib/oe/reproducible: correctly set .git location when recursively looking for git repos go: correctly set debug-prefix-map and build directory go: additional patches to help reproducibility selftest/reproducible: drop go items from exception list virgl: skip headless test on alma 8 ruby: disable rdoc due to non-reproducibility rust-llvm: apply the same reproducibility patch as for llvm proper busybox: update 1.34.1 -> 1.35.0 systemd: update 249.7 -> 250.1 python3-numpy: update 1.21.4 -> 1.22.0 mdadm: update 4.1 -> 4.2 libportal: update 0.4 -> 0.5 epiphany: make libportal optional, and move it to meta-oe librsvg: update 2.52.4 -> 2.52.5 qemuboot/runqemu: fully form the ip= kernel parameter parselogs: add a couple systemd false positives systemd-boot: restore reproducibility connman-conf: do nothing in qemu, do not touch eth0 python3: drop unneeded multiprocessing module patch ruby: update 3.0.3 -> 3.1.0 meson: fold nativesdk into the main recipe meson: update 0.60.3 -> 0.61.1 efivar: update 37 -> 38 libuv: update 1.42.0 -> 1.43.0 resolvconf: update 1.87 -> 1.91 systemd: update 250.1 -> 250.3 python3: update 3.10.1 -> 3.10.2 logrotate: update 3.18.1 -> 3.19.0, drop rotate-across-filesystems patches sqlite: update 3.37.1 -> 3.37.2 rust: update 1.57.0 -> 1.58.0 readline: upgrade 8.1 -> 8.1.2 socat: upgrade 1.7.4.2 -> 1.7.4.3 go: upgrade 1.17.5 -> 1.17.6 shadow: upgrade 4.10 -> 4.11.1 e2fsprogs: upgrade 1.46.4 -> 1.46.5 mtools: upgrade 4.0.36 -> 4.0.37 python3-pygments: upgrade 2.11.1 -> 2.11.2 python3-pyrsistent: upgrade 0.18.0 -> 0.18.1 python3-ruamel-yaml: upgrade 0.17.19 -> 0.17.20 vala: upgrade 0.54.4 -> 0.54.6 pigz: upgrade 2.6 -> 2.7 rpcsvc-proto: upgrade 1.4.2 -> 1.4.3 piglit: upgrade to latest revision libinput: upgrade 1.19.2 -> 1.19.3 xwayland: upgrade 21.1.3 -> 21.1.4 puzzles: upgrade to latest revision webkitgtk: upgrade 2.34.2 -> 2.34.3 diffoscope: upgrade 199 -> 200 libsoup: upgrade 3.0.3 -> 3.0.4 liburcu: upgrade 0.13.0 -> 0.13.1 ffmpeg: upgrade 4.4.1 -> 5.0 p11-kit: update 0.24.0 -> 0.24.1 libunistring: update 0.9.10 -> 1.0 repo: upgrade 2.19 -> 2.20 stress-ng: upgrade 0.13.09 -> 0.13.10 Alexey Brodkin (1): openssl: Use linux-latomic target for ARC Andreas Müller (1): libsdl2: Move to CMake build Andrei Gherzan (2): gcc: Fix compile of gcc plugins gcc: Fix typo in linux64.h install patch Andres Beltran (2): create-spdx: Set the Organization field via a variable create-spdx: Fix key errors in do_create_runtime_spdx Anton Mikanovich (1): bitbake: process: Do not mix stderr with stdout Anuj Mittal (3): glibc-version.inc: remove branch= from GLIBC_GIT_URI releases.rst: move gatesgarth to outdated releases section xserver-xorg: update CVE_PRODUCT Bruce Ashfield (69): linux-yocto/5.14: update to v5.14.15 linux-yocto/5.10: update to v5.10.76 linux-yocto-rt/5.10: update to -rt54 strace: fix build against 5.15 kernel/kernel-headers ppp: fix build against 5.15 headers linux-libc-headers: update to v5.15 linux-yocto/5.15: introduce recipes linux-yocto-rt/5.15: update to -rt17 linux-yocto/5.14: update to v5.14.16 linux-yocto/5.10: update to v5.10.77 linux-yocto/5.14: update to v5.14.17 linux-yocto/5.15: update to v5.15.1 linux-yocto/5.10: update to v5.10.78 kernel: provide virtual/kernel for all kernels linux-yocto/5.15: update to v5.15.2 linux-yocto/5.14: update to v5.14.18 linux-yocto/5.10: update to v5.10.79 kernel-yocto: conditionally enable stack protection checking on x86-64 linux-yocto-dev: bump to v5.16+ kernel: export native PKGCONFIG variables python: introduce python3-dtschema python: import jsonpointer from meta-python python3-jsonpointer: Update 2.1 to 2.2 python: import jsonschema from meta-python python: import idna from meta-python python: import rfc3339-validator from meta-python python: import rfc3986-validator from meta-python python: import webcolors from meta-python python: import ruamel-yaml from meta-python python: import pyrsistent from meta-python python: import rfc3987 from meta-pyton python: import strict-rfc3339 from meta-python python: import vcversioner from meta-python maintainers: update for kernel dtschema checking dependencies linux-yocto: export pkgconfig variables to devshell kernel: introduce python3-dtschema-wrapper linux-yocto-dev: introduce dt-validation PACKAGECONFIG linux-yocto/5.14: update to v5.14.21 linux-yocto/5.15: update to v5.15.5 linux-yocto/5.10: update to v5.10.82 linux-yocto/5.15: update to v5.15.6 linux-yocto-dev: use versioned branch as default linux-yocto-rt/5.10: update to -rt56 kern-tools: bug fixes and kgit-gconfig linux-yocto/5.10: update to v5.10.84 linux-yocto/5.15: update to v5.15.7 linux-yocto/5.15: update to v5.15.8 linux-yocto/5.10: update to v5.10.85 linux-yocto/5.15: update to v5.15.10 linux-yocto/5.10: update to v5.10.87 linux-yocto/5.10: update to v5.10.89 linux-yocto/5.15: update to v5.15.12 linux-yocto/5.14: fix arm 32bit -rt warnings linux-yocto/5.15: fix arm 32bit -rt warnings linux-yocto/5.10/cfg: add kcov feature fragment linux-yocto/5.15/cfg: add kcov feature fragment linux-yocto/5.15: update to v5.15.13 linux-yocto/5.10: update to v5.10.90 conf/machine: bump qemu preferred versions to 5.15 linux-yocto: drop 5.14 recipes yocto-bsp: change default to 5.15 yocto-bsp/5.14: drop recipes poky: set default kernel to 5.15 linux-yocto/5.15: fix arm defconfig warnings lttng-modules: update to 2.13.1 linux-yocto/5.10: amdgpu: updates for CVE-2021-42327 linux-yocto/5.15: update to v5.15.14 linux-yocto/5.10: update to v5.10.91 linux-yocto-rt/5.15: update to -rt22 Chaitanya Vadrevu (1): python3-pyelftools: Depend on debugger, pprint Changhyeok Bae (2): iputils: update 20210722 to 20211215 iproute2: update 5.15.0 to 5.16.0 Changqing Li (3): cmake: upgrade 3.22.0 -> 3.22.1 rpm: fix CVE-2021-3521 pigz: fix one failure of command "unpigz -l" Chen Qi (7): bitbake: tests/fetch.py: fix premirror test cases bitbake: tests/fetch.py: add test case to ensure downloadfilename is used for premirror bitbake: fetch2: fix downloadfilename issue with premirror opkg: use oe.qa.add_message istead of package_qa_add_message avahi: update CVE id fixed by local-ping.patch waffle: add cmake-native to DEPENDS populate_sdk_base: remove unneeded dirs such as /dev Claus Stovgaard (1): cups: Fix missing installation of cups sysv init scripts Daniel Gomez (1): os-release: Add DISTRO_CODENAME as vardeps for do_compile Denys Dmytriyenko (3): wayland-protocols: upgrade 1.23 -> 1.24 wayland: upgrade 1.19.0 -> 1.20.0 mtd-utils: upgrade 2.1.3 -> 2.1.4 Dhruva Gole (2): scripts/checklayer/common.py: Fixed a minor grammatical error yocto-check-layer: Add additional README checks Dmitry Baryshkov (1): go: fix building without SECURITY_LDFLAGS Florian Amstutz (1): systemd: Fix systemd-journal-gateway user/groups He Zhe (1): linux-yocto-dev: Set KBRANCH with = Jacob Kroon (3): native/cross: Add ar wrapper for determinism no-static-libs.inc: Fixes sstate: Preserve permissions when extracting tar archive Jagadeesh Krishnanjanappa (1): tune-cortexa72: remove crypto for the default cortex-a72 Jasper Orschulko (4): repo: Add recipe for 2.17.3 base.bbclass: Add sysroot deps for repo fetcher repo: Use separate task for patching repo rev repo: upgrade 2.17.3 -> 2.18 Jim Wilson (1): gdb-common: Add --with-liblzma-prefix in xz PACKAGECONFIG. Joel Winarske (1): mesa: Add PACKAGECONFIG option for broadcom v3d Vulkan driver Jon Mason (3): runqemu: work without SERIAL_CONSOLES being defined scripts/lib/wic/help.py: Update Fedora Kickstart URLs yocto-check-layer: disregard checks if referencing another README file Jose Quaresma (11): sstate: another fix for touching files inside pseudo bitbake: cooker: check if upstream hash equivalence server is available spirv-headers: upgrade 1.5.4 -> 1.5.5 spirv-headers: bump to last master spirv-tools: upgrade 2021.3 -> 2021.4 glslang: upgrade 11.6.0 -> 11.7.0 shaderc: upgrade 2021.2 -> 2021.3 sstate: cleanup the sstate mirror progress check sstate: only search on the mirrors for the missing files sstate: add a function to get the sstate file name in sstate_checkhashes glslang: upgrade 11.7.0 -> 11.7.1 Joshua Watt (7): classes/meson: Add optional rust definitions classes/crate-fetch: Ensure crate fetcher is available yocto-check-layer: Relax README case checks webkitgtk: Add packageconfig for libsoup2 epiphany: Add packageconfig for libsoup2 selftest: reproducible: Set maximum report size classes/native: Propagate dependencies to outhash Justin Bronder (1): bitbake: fetch2/wget: add redirectauth parameter Kai Kang (7): squashfs-tools: fix CVE-2021-41072 squashfs-tools: follow-up fix for CVE-2021-41072 convert-srcuri.py: use regex to check space in SRC_URI packagegroup-core-tools-testapps: clear GOTOOLS for riscv32 xserver-xorg: 21.1.2 -> 21.1.3 multilib.bbclass: set rpm file color for 32-bit multilib image speex: fix CVE-2020-23903 Kamil Dziezyk (1): grub-efi: Add xen_boot support when 'xen' is in DISTRO_FEATURES for aarch64 Kevin Hao (6): meta-yocto-bsp: Introduce the v5.15 bbappend tune-cortexa72: Enable the crc extension by default for cortexa72 arch-armv8-5a.inc: Add tune include for armv8.5a armv9a/tune: Add the support for the Neoverse N2 core tune-cortexa72: Drop the redundant cortexa72-crc tune tune-cortexa73: Introduce cortexa73-crypto tune Khairul Rohaizzat Jamaluddin (1): epiphany: update 41.0 -> 41.3 Khem Raj (37): wpebackend-fdo: Add -Wno-c++11-narrowing musl: Update to tip of trunk site/common-musl: Enable qsort_r in glib libsolv: Enable correct qsort_r on musl kernel-devsrc: Add vdso.lds and other build files for riscv64 as well gdb: Upgrade to 11.1 gdb: Add dependency on libgmp librsvg: Disable 64bit atomics on riscv32/mipsel in crossbeam qemu: Build on musl targets qemu: Fix build on aarch64/musl wic: Use os.rename instead of bb.utils.rename qemu: Exclude building on riscv32 ptest-packagelists: Remove qemu ptests for rv32 gobject-introspection: Add -Dintrospection only when GIR_MESON_OPTION is not empty gstreamer1.0-python: Improve introspection option handling python3-pygobject: Improve introspection handling vulkan-samples: Fix cmake errors about plain signature vulkan-samples: Enable for architectures where it builds glibc-tests: Do not set SYSTEMD_SERVICE image: Include psplash only when screen machine feature is enabled weston-init: Pass --continue-without-input when launching weston Revert "weston-init: Pass --continue-without-input when launching weston" boost: Fix build on arches with no atomics glibc: Drop patch to support/workaround prelinked apps on armv5 libunwind: Enable for rv64 perf: Enable libunwind packageconfig on riscv64 glibc: Drop ppc sqrt optimisations ffmpeg: Fix build on ppc32 mesa: Fix build on ARM systems without Neon gdb: Drop sh4 support patch binutils: Drop patch to wider sh regexp mesa: Fix broadcom vulkan driver build on 32bit arches with 64bit time_t mesa: Define broadcom packageconfig knob glibc: Redo tzselect bash dependency problem gcc: Update status of musl stddef.h patch libsdl2: Fix build when libunwind is not used valgrind: Avoid accessing network in ptest task Konrad Weihmann (3): insane: add Inactive-Upstream to Upstream-Status insane: move src-uri-bad checks to unpack stage cve-check: add lockfile to task Leif Middelschulte (1): meson: improve SDK's wrapper to make Wraps work Li Wang (1): libtool: change the default AR_FLAGS from "cru" to "cr" Lukasz Majewski (1): glibc: ptest: Add running glibc time related test suite (Y2038) with ptest Manuel Leonhardt (2): sstate: Account for reserved characters when shortening sstate filenames dpkg: Install dkpg-perl scripts to versioned perl directory Marek Vasut (2): bootchart2: Add missing python3-math dependency u-boot: upgrade 2021.10 -> 2022.01 Markus Volk (2): libva: move PACKAGECONFIG options to libva.inc vulkan-loader: inherit pkgconfig Martin Jansa (1): gdb-cross: add dependency on gmp-native Matt Madison (2): qemu.bbclass: drop OLDEST_KERNEL reference qemu: add patch to set minimum kernel version for riscv32 Matthias Klein (1): gdb: fix aarch64 remote debugging gdb/28355 Max Krummenacher (4): perf: sort-pmuevents: don't drop elements perf: sort-pmuevents: allow for additional type qualifiers and storage class ref-manual: fix patch documentation libsdl2: fix build if egl.pc sets macros in cflags Michael Halstead (3): releases: update to include 3.3.4 releases: update to include 3.4.1 releases: update to include 3.1.13 Michael Opdenacker (35): manuals: correct "take affect" by "take effect" manuals: start of documentation standards document bitbake: doc: bitbake-user-manual: expand SRC_URI description ref-manual: remove reference to TOPDIR ref-manual: BBFILES_DYNAMIC - fix punctuation and quoting issues ref-manual: simplify SRC_URI reference documentation: prepare for 3.1.12 release bitbake: bitbake-user-manual: quoting fixes bitbake: bitbake-user-manual: fix typo bitbake: bitbake-user-manual: add missing reference bitbake: bitbake-user-manual: fix backslash issues bitbake: bitbake-user-manual: SRC_URI: mention gitsm fetcher ref-manual: drop support for Ubuntu 16.04 ref-manual: drop support for Fedora 30-32 dev-manual: remove warning about += and :append manuals: add hyperlinks to files in meta-skeleton dev-manual: how to purge duplicate sstate cache files migration-guides: add more class references ref-manual: add more class references misc manuals: add further class references ref-manual: remove newline string in PREMIRRORS bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE and document BB_HASHSERVE_UPSTREAM documentation: add comment to releases.rst switchers.js overview-manual: fix typo manuals: replace "rootfs" by "root filesystem" quick start manual: update Share State and Hash Equivalence settings documentation/README: trivial typo fix manuals: document hash equivalence dev-manual: update bitbake.conf sample for static libs manuals: add reference to GIR_EXTRA_LIBS_PATH plus minor improvements migration-guides: prepare for release 3.5 manuals: simplify references to class sections ref-manual: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE dev-manual: stop mentioning nightly builds bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE explanations Mike Crowe (3): kernel: improve transformation from KERNEL_IMAGETYPE_FOR_MAKE package: Only snap libraries if they would be processed by ldconfig OS-12840 documentation: Document PACKAGE_SNAP_LIB_SYMLINKS Mingli Yu (4): wic: use shutil.which libpam: Backport ptest fix checking whether files exist libhandy: Backport a makefile header race bootchart2: remove wait_boot logic Oleksandr Kravchuk (5): libxcvt: add recipe python3: udpate to 3.10.1 libx11: update to 1.7.3 xserver-xorg: update to 21.1.2 ofono: update to 1.34 Oleksiy Obitotskyy (1): package_manager: ipk: Fix host manifest generation Otavio Salvador (20): acpica: upgrade 20210930 -> 20211217 asciidoc: upgrade 10.0.2 -> 10.1.1 alsa-ucm-conf: upgrade 1.2.6.2 -> 1.2.6.3 bind: upgrade 9.16.23 -> 9.16.24 kea: upgrade 2.0.0 -> 2.0.1 meson: upgrade 0.60.2 -> 0.60.3 mmc-utils: upgrade to latest revision python3-attrs: upgrade 21.2.0 -> 21.4.0 python3-cython: upgrade 0.29.25 -> 0.29.26 python3-hypothesis: upgrade 6.31.4 -> 6.34.1 python3-importlib-metadata: upgrade 4.9.0 -> 4.10.0 python3-pygments: upgrade 2.10.0 -> 2.11.1 python3-ruamel-yaml: upgrade 0.17.17 -> 0.17.19 python3-tomli: upgrade 1.2.2 -> 2.0.0 python3-zipp: upgrade 3.6.0 -> 3.7.0 sqlite3: upgrade 3.37.0 -> 3.37.1 stress-ng: upgrade 0.13.08 -> 0.13.09 python3-dtschema: upgrade 2021.10 -> 2021.12 mesa: 21.3.1 -> 21.3.3 libxcrypt, libxcrypt-compat: upgrade 4.4.26 -> 4.4.27 Paul Eggleton (4): classes/kernel*: allow disabling symlink creation classes/qemuboot: allow IMAGE_LINK_NAME to be empty classes/kernel*: add variables to allow changing artifact extension classes/create-spdx: handle if IMAGE_LINK_NAME is empty Pavel Zhukov (2): go: upgrade 1.16.8 -> 1.16.10 patch.py: Initialize git repo before patching Peter Kjellerstedt (22): systemd: Do not install anything in /var/volatile base-files: Ignore the empty-dirs QA error due to files in /var/volatile apt: Do not install /var/log/apt for target insane.bbclass: Add a check for directories that are expected to be empty libx11: Update LICENSE to better reflect reality libx11-compose-data: Update LICENSE to better reflect reality ncurses.inc: Remove a no longer relevant comment systemd: Revert inappropriate use of ${systemd_system_unitdir} systemd-conf: Revert inappropriate use of ${systemd_system_unitdir} systemd-bootchart: Revert inappropriate use of ${systemd_system_unitdir} mirrors.bbclass: Clean up the additions to MIRRORS own-mirrors.bbclass: Clean up the additions to PREMIRRORS gcc-common.inc: Clean up the additions to MIRRORS slang: Clean up the additions to PREMIRRORS testsdk.py: Clean up the additions to PREMIRRORS and SSTATE_MIRRORS gcc-common.inc: Remove mirrors that are no longer available tzdata: Make it compatible with devtool modify tzdata: Remove unnecessary RPROVIDES tzdata: Clean up tzdata: Remove no longer relevant RCONFLICTS:${PN} rootfs-postcommands.bbclass: Make two comments use the new variable syntax systemd: Avoid a Python deprecation warning Pgowda (2): gcc: Fix CVE-2021-35465 rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH Quentin Schulz (10): README.OE-Core.md: update URLs ptest-packagelists: Add missing python3-webcolors entry make the documentation a bit more inclusive docs: dev-manual: common-tasks: highlight creating your own layer is not required documentation: conf.py: add knob for loading appropriate objects.inv kmscube: fix build on OpenGL ES 3 dependencies not providing GLES3/gl3ext.h mesa: PROVIDES virtual/libgles3 kmscube: add build dependency on virtual/libgles3 mesa: make ligles3-dev RDEPENDS on libgles2-dev bitbake: doc: bitbake-user-manual: specify the URL to be used with SSH over git is different from `git clone`'s Randy MacLeod (5): valgrind: Add util-linux-taskset ptest dependency valgrind: backport rseq work-around valgrind: remove duplicate and skipped tests from remove-for-aarch64 valgrind: skip boost_thread for aarch64 ptests valgrind: make run-ptest better Richard Purdie (133): meta: Add explict branch to git SRC_URIs meta/scripts: Manual git url branch additions linunistring: Add missing gperf-native dependency archiver: Default to xz compresison instead of gz gcc: Drop libgfortran patch pseudo: Add fcntl64 wrapper libgfortran: Set GFORTRAN bitbake: fetch2/git: Allow git fetcher to support subdir param bitbake: fetch2/git: Add a warning asking users to set a branch in git urls bitbake: tests/fetch: Update github urls bitbake: fetch/git: Handle github dropping git:// support bitbake: fetch/git: Show warning for invalid github urls bitbake: lib/bb: Clean up use of len() bitbake: daemonize: Avoid unclosed file warning bitbake: lib/bb: Fix string concatination potential performance issues bitbake: fetch: Handle mirror user/password replacements correctly bitbake: tests/fetch: Add test for url parameter rewriting bitbake.conf: Fix corruption of GNOME mirror url scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes recipes: Update github.com urls to use https go-helloworld/glide: Fix urls opkg: Fix poor operator combination choice bitbake: runqueue: Fix runall option task deletion ordering issue bitbake: tests/fetch: Update pcre.org address after github changes bitbake: cooker: Handle parse threads disappearing to avoid hangs bitbake: fetch2/checksum/siggen: Fix taskhashes not tracking file directories bitbake: runqueue: Fix runall option handling bitbake: cooker: Remove debug code, oops :( bitbake: parse/ast: Show warnings for append/prepend/remove operators combined with +=/.= bitbake: fetch/wget: Add timeout for checkstatus calls (30s) bitbake: cooker: Handle parsing results queue race mirrors: Add uninative mirror on kernel.org scripts/oe-package-browser: Fix after overrides change scripts/oe-package-browser: Handle no packages being built xserver-xorg: Remove orphaned comment bitbake: fetch: Add README on fetcher design constraints wpa-supplicant: Match package override to PACKAGES for pkg_postinst uninative: Add version to uninative tarball name packagegroup-core-buildessential: Mark as TUNE_PKGARCH specific packagegroups-core-full-cmdline: Drop libraries packagegroup and gmp packagegroup-core-full-cmdline: Drop compatibility mappings packagegroup-core-x11-base: Drop dbus dependency mirrors: Add kernel.org sources mirror for downloads.yoctoproject.org bitbake: cooker: Fix task-depends.dot for multiconfig targets bitbake: tests/runqueue: Set TOPDIR in test bitbake: cookerdata: Set TOPDIR explicitly and fix broken findTopdir() bitbake: cache/ConfHandler: Drop TOPDIR/chdir manipulations package: Add sanity check for allarch packagegroups gcc: Dropping mips workaround lua: Backport fix for CVE-2021-43396 glibc: Backport fix for CVE-2021-43396 gcc: Tweak Upstream-Status formatting bitbake: utils: Handle lockfile filenames that are too long for filesystems bitbake: fetch2: Fix url remap issue and add testcase bitbake: bitbake-user-manual: Remove newline string in MIRRORS/PREMIRRORS buildhistory: Drop support for older bitbakes buildhistory: Fix srcrevs output ptest-packagelists: Handle glibc vs musl for ptest buildhistory: Fix do_package race issues bitbake.conf: Pass -D option to ranlib for determisim glibc: Fix i586/c3 support gcc: Drop no longer needed patch ptest-packagelists: Add missing python3-jsonpointer entry python3: Add missing HOMEPAGE entries nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks gcc: Drop mips default ABI patch gcc: Drop further unneeded precompiled header patch oeqa/utils/dump: Fix typo oeqa/parselogs: Fix quoting sanity/lib: Replace usage of LooseVersion() with bb.utils.vercmp_string_op() patchelf: Upgrade 0.14.1 -> 0.14.2 debian: Fix renaming packagedata dependencies gst-plugins-bad: Add missing libxkbcommon vulkan dependency gcc: Update patch status submitted->backport minicom: Mark patches as backports minicom: Upgrade 2.7.1 -> 2.8 glibc: Drop patch for obsolete conflict issue gst-plugins-bad: Bump cache versions to avoid libxkbcommon sstate issues puzzles: Refresh patches based upon upstream discussion gcc: Add CVE-2021-37322 to the list of CVEs to ignore bitbake: siggen: Ensure dumpsig output is deterministic build-appliance-image: Update to master head revision binutils: Drop mips gold patch binutils: Add more detail to the ppc patch binutils: Drop mips default target patch perf: Tweak for mips n64 binutils: Drop mips XLP support patch puzzles: Upgrade to latest git with patches merged lttng-ust: upgrade 2.13.0 -> 2.13.1 patchelf: upgrade 0.14.2 -> 0.14.3 lttng-tools: Backport ptest fix lttng-tools: Disable problem tests bitbake: tests/runqueue: Improve lockfile handling race python3-idna: Update license to Unicode-TOU bitbake: tests/fetch: Drop gnu urls from wget connectivity test manpages: Fix override/append ordering and hence task signatures qemu: Upgrade 6.1.0 -> 6.2.0 lttng-tools: Upgrade 2.13.1 -> 2.13.2 oeqa/selftest/bbtests: Use YP sources mirror instead of GNU qemu: Add selinux PACKAGECONFIG package_deb/ipk/rpm: Add more minimal do_build dependencies back meson: Handle qemu riscv issues openssl: Add reproducibility fix webkitgtk: Add reproducibility fix scripts: Update to use exec_module() instead of load_module() bitbake: utils: Update to use exec_module() instead of load_module() gtk-doc/meson: Fix typos libsdl2: Fix X11 configure options Revert "qemu.bbclass: drop OLDEST_KERNEL reference" allarch: Fix interaction with qemu class expat: Update HOMEPAGE to current url wayland-protocols: Change inherit order sstatetests: Add OLDEST_KERNEL to allarch tests oeqa/sstate: Fix allarch samesigs test buildtools-installer: Update to use 3.4 bitbake: utils: Add disable_network function bitbake: bitbake-worker: Add/support network task flag bitbake: runqueue: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST classes: Only allow network in existing network accessing code sanity: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE expat: Upgrade 2.4.2 -> 2.4.3 expat: Drop unneeded libtool patch, we use cmake bitbake: doc: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST expat: Simplify ptest-runner build-appliance-image: Update to master head revision bitbake: build: Tweak exception handling for setscene tasks bitbake: fetch2: Add crate fetcher sstate: Show better exception information for failures sstate: Improve failure to obtain archive message/handling abi_version: Bump HASHEQUIV_HASH_VERSION crate-fetch: Switch to version contained in bitbake build-appliance-image: Update to master head revision build-appliance-image: Update to master head revision Robert Joslyn (4): ref-manual: Fix module_conf typo curl: Update to 7.81.0 curl: Rework openssl and random PACKAGECONFIGs maintainers.inc: Add myself as maintainer for curl Robert P. J. Day (1): ref-manual: generalize definition of "container layer" Robert Yang (3): sanity.bbclass: Update required gcc version to v7.5 bitbake: lib/pyinotify.py: Remove deprecated module asyncore bitbake: data_smart.py: Skip old override syntax checking for anonymous functions Ross Burton (61): openssl: fix builds on ARMv8 targets without Aarch64 python3: silence DeprecationWarnings in python3-config meson: set objcopy in the cross and native toolchain files ref-manual: improve documentation for SDKMACHINE kickstart: update busybox note regarding PARTUUID scons: support out-of-tree builds vim: fix CVE-2021-3796, CVE-2021-3872, and CVE-2021-3875 vim: add patch number to CVE-2021-3778 patch meta: use ln -rs instead of lnr insane: remove unrecognised option check for Meson dtc: merge .bb/.inc dtc: use Meson to build dtc: add PACKAGECONFIGs for tools and yaml dtc: fix mingw build ncurses: poll() works, but only on Linux vim: fix CVE-2021-3927 and CVE-2021-3928 scripts/lnr: remove gmp: fix CVE-2021-43618 oe/utils: allow naming threads in ThreadedPool sstate: explicitly name the checkhashes thread pool oe/utils: by default cap cpu_count() to 64 cores vim: fix CVE-2021-3968 and CVE-2021-3973 vim: set PACKAGECONFIG idiomatically openssl: fix EVP_PKEY_CTX_get_rsa_pss_saltlen() not returning a value recipetool: handle GitLab URLs like we do GitHub recipetool: extend curl detection when creating recipes glew: update patch status libx11: update patch status libxkbcommon: remove obsolete util-macros dependency libxkbcommon: allow building of API documentation xkbcommon: split xkbcli into a separate package libxkbcommon: split libraries into separate packages xkbcommon: add option for xkbregistry tcf-agent: cleanup patches vim: upgrade to 8.2 patch 3752 runqemu: check the qemu PID has been set before kill()ing it gstreamer1.0-plugins-bad: clean up X11 dependencies libtool: don't prefix the installed binary binutils: don't expect libtool to be host-prefixed pkgconfig: remove obsolete support for renamed libtool gtk+3: remove obsolete support for renamed libtool db: remove obsolete support for renamed libtool freetype: remove obsolete support for renamed libtool apr: remove obsolete support for renamed libtool qemu: remove obsolete support for renamed libtool subversion: remove obsolete support for renamed libtool apmd: remove obsolete support for renamed libtool libical: upgrade to 3.0.12 python3: backport a fix so the test suite passes with OpenSSL 3.0.1 openssl: upgrade to 3.0.1 kmod: remove obsolete ac_pwd manipulation kmod: merge target/native recipes kmod: expand compression PACKAGECONFIGs gawk: remove load-sensitive tests linux-yocto: add libmpc-native to DEPENDS xserver-xorg: whitelist two CVEs systemtap: fix vsprintf errors oeqa/runtime/stap: rewrite test vim: update to include latest CVE fixes lighttpd: backport a fix for CVE-2022-22707 oeqa/runtime/stap: increase buffer size S. Lockwood-Childs (1): cups: fix typo in flags to disable avahi Samuli Piippo (1): rpm: remove tmp folder created during install Saul Wold (7): create_spdx: ensure is_work_shared() is unique create-spdx: Protect against None from LICENSE_PATH kernel: add -dbg package perl: Enable threading kernel.bbclass: use common strip() package: Add support for kernel stripping create-spdx: Add kernel work-shared source Schmidt, Adriaan (1): wic: support rootdev identified by partition label Stefan Herbrechtsmeier (17): bitbake: fetch2: npmsw: Add support for duplicate dependencies without url bitbake: fetch2: npmsw: Add support for github prefix in npm shrinkwrap version bitbake: fetch2: Unify tar command in unpack bitbake: fetch2: Add striplevel support to unpack bitbake: bitbake-user-manual: Add striplevel unpack parameter bitbake: test/fetch: Add striplevel unpack parameter test recipetool: Set master branch only as fallback selftest/devtool: Check branch in git fetch selftest/recipetool: Split tests into separate test classes selftest: devtool: Separate common functions and devtool sstate setup into two classes selftest/recipetool: Add tests for branch parameter and srcbranch option bitbake: fetch: npm: Quote destdir in run chmod command bitbake: fetch: npm: Use temporary file for empty user config recipetool: Sort output of guess_license function to be deterministic recipetool: Separate licenses with & operator selftest: recipetool: Add test for split_pkg_licenses function selftest: recipetool: Add test for handle_license_vars function Steve Sakoman (4): ref-system-requirements.rst: Add Debian 11 to list of supported distros ref-system-requirements.rst: Add Fedora 33 and 34 to list of supported distros ref-system-requirements.rst: Add openSUSE Leap 15.2 to list of supported distros cve-extra-exclusions: add db CVEs to exclusion list Sundeep KOKKONDA (2): glibc : Fix CVE-2022-23218 glibc : Fix CVE-2022-23219 Teoh Jay Shen (2): linux-yocto/5.10: update genericx86* machines to v5.10.87 linux-yocto/5.14: update genericx86* machines to v5.14.21 Thomas Perrot (1): uboot-sign: fix the concatenation when multiple U-BOOT configurations are specified Tim Orling (29): scripts/buildhistory-diff: drop use of distutils maintainers.inc: update email address poky.yaml: centos-7 python36-pip -> python3-pip classes/distutils-*: add warning of deprecation setuptools3: refactor for no distutils bbclasses dnf: inherit setuptools3-base instead of distutils libdnf: inherit setuptools3-base not distutils python3-cython: DISTUTILS_* -> SETUPTOOLS_* python3-dbus: inherit setuptools3-base not distuils gpgme: inherit setuptools-base not distuils python3-pip: inherit setuptools3 not distuils3 systemtap: use setuptools-base not distutils libcomps: inherit setuptools3-base not distutils createrepo-c: inherit setuptools3-base not distutils librepo: inherit setuptools3-base not distutils btrfs-tools: use setuptools3-base not distutils bind: inherit setuptools3-base instead of distutils python3-pygobject: setuptools instead of distuils python3-setuptools: do not depend on distutils gstreamer1.0-python: inherit setuptools3-base recipetool/create_buildsys_python.py: less distutils waf.bbclass: drop usage of distutils dnf: drop python3-distutils dependency python3native.bbclass: distutils -> sysconfig rootfs_rpm.bbclass: distutils -> sysconfig module python3-hypothesis: upgrade 6.34.1 -> 6.35.0 ref-manual/variables.rst: add SETUPTOOLS_SETUP_PATH ref-manual/variables.rst: add SETUPTOOLS_*_ARGS ref-manual/classes.rst: add setuptools3-base Tom Hochstein (3): wayland: Fix wayland-tools packaging nativesdk-packagegroup-sdk-host.bb: Update host tools for wayland bitbake.conf: Use wayland distro feature for native builds Ulrich Ölmann (1): gstreamer1.0-plugins-base: add support for graphene Valerii Chernous (1): elf: Discard input .note.gnu.build-id sections Vivien Didelot (2): beaglebone-yocto: prefer u-boot beaglebone-yocto: move kernel and dtb to packagegroup-core-boot Vyacheslav Yurkov (17): overlayfs: all overlays unit oeqa/selftest: refactor common functions overlayfs: meta-selftest recipe fix oeqa/selftest: extend overlayfs test overlayfs: add debug information ref-manual: update overlayfs class rootfs-postcommands: update systemd_create_users files: add overlayfs-etc-preinit.sh.in wic: image for overlayfs-etc tests overlayfs-etc: mount etc as overlayfs image: add overlayfs-etc image feature oeqa/selftest: overlayfs helper function oeqa/selftest: unit tests for overlayfs-etc overlayfs: update notes on /etc overlayfs: move templates to files directory ref-manual: add overlayfs-etc class ref-manual: document overlayfs-etc image feature Yi Zhao (6): bind: remove -r option from rndc-confgen in initscript rpcbind: install rpcbind.conf python3-numpy: move recipe to python directory python3-numpy: add python3-json to RDEPENDS oeqa: fix warnings for append operators combined with += meta-skeleton: fix warnings for append operators combined with += Yongxin Liu (1): grub2: fix CVE-2021-3981 Zev Weiss (1): u-boot: Split do_configure logic into separate file pgowda (2): gcc: Fix CVE-2021-42574 binutils: CVE-2021-42574 wangmy (67): bind: upgrade 9.16.21 -> 9.16.22 glib-2.0: upgrade 2.70.0 -> 2.70.1 python3-dbusmock: upgrade 0.24.0 -> 0.24.1 python3-docutils: upgrade 0.17.1 -> 0.18 btrfs-tools: upgrade 5.14.2 -> 5.15 diffoscope: upgrade 189 -> 190 ell: upgrade 0.44 -> 0.45 harfbuzz: upgrade 3.0.0 -> 3.1.1 iproute2: upgrade 5.14.0 -> 5.15.0 iso-codes: upgrade 4.7.0 -> 4.8.0 iw: upgrade 5.9 -> 5.16 libpcre2: upgrade 10.37 -> 10.39 msmtp: upgrade 1.8.18 -> 1.8.19 libevdev: upgrade 1.11.0 -> 1.12.0 libdrm: upgrade 2.4.107 -> 2.4.108 libhandy: upgrade 1.4.0 -> 1.5.0 python3-importlib-metadata: upgrade 4.8.1 -> 4.8.2 python3-jinja2: upgrade 3.0.2 -> 3.0.3 python3-more-itertools: upgrade 8.10.0 -> 8.11.0 libtasn1: upgrade 4.17.0 -> 4.18.0 ethtool: upgrade 5.14 -> 5.15 stress-ng: upgrade 0.13.06 -> 0.13.07 systemtap: upgrade 4.5 -> 4.6 python3-scons: upgrade 4.2.0 -> 4.3.0 libcap: upgrade 2.60 -> 2.61 mesa: upgrade 21.2.5 -> 21.3.0 python3-mako: upgrade 1.1.5 -> 1.1.6 libjpeg-turbo: upgrade 2.1.1 -> 2.1.2 libdrm: upgrade 2.4.108 -> 2.4.109 libsoup-2.4: upgrade 2.74.1 -> 2.74.2 libunwind: upgrade 1.5.0 -> 1.6.0 libexif: upgrade 0.6.23 -> 0.6.24 mtools: upgrade 4.0.35 -> 4.0.36 patchelf: upgrade 0.13 -> 0.14.1 sqlite3: upgrade 3.36.0 -> 3.37.0 sysklogd: upgrade 2.2.3 -> 2.3.0 ovmf: upgrade 202108 -> 202111 python3-docutils: upgrade 0.18 -> 0.18.1 python3-libarchive-c: upgrade 3.1 -> 3.2 sysstat: upgrade 12.4.3 -> 12.4.4 vala: upgrade 0.54.3 -> 0.54.4 xauth: upgrade 1.1 -> 1.1.1 mpg123: upgrade 1.29.2 -> 1.29.3 python3-cython: upgrade 0.29.24 -> 0.29.25 libcap: upgrade 2.61 -> 2.62 linux-firmware: upgrade 20211027 -> 20211216 python3-importlib-metadata: upgrade 4.8.2 -> 4.9.0 sysvinit: upgrade 3.00 -> 3.01 python3-dbusmock: upgrade 0.24.1 -> 0.25.0 python3-numpy: upgrade 1.21.4 -> 1.21.5 expat: upgrade 2.4.1 -> 2.4.2 gnupg: upgrade 2.3.3 -> 2.3.4 ell: upgrade 0.46 -> 0.47 bash: upgrade 5.1.8 -> 5.1.16 createrepo-c: upgrade 0.17.7 -> 0.18.0 bluez5: upgrade 5.62 -> 5.63 iso-codes: upgrade 4.8.0 -> 4.9.0 less: upgrade 598 -> 600 libpipeline: upgrade 1.5.4 -> 1.5.5 diffoscope: upgrade 196 -> 199 libsdl2: upgrade 2.0.18 -> 2.0.20 hdparm: upgrade 9.62 -> 9.63 mesa: upgrade 21.3.3 -> 21.3.4 python3-git: upgrade 3.1.24 -> 3.1.26 python3-numpy: upgrade 1.22.0 -> 1.22.1 strace: upgrade 5.15 -> 5.16 btrfs-tools: upgrade 5.15.1 -> 5.16 zhengruoqin (9): opkg-utils: upgrade 0.4.5 -> 0.5.0 opkg: upgrade 0.4.5 -> 0.5.0 glib-networking: upgrade 2.70.0 -> 2.70.1 stress-ng: upgrade 0.13.07 -> 0.13.08 vte: upgrade 0.66.0 -> 0.66.2 rt-tests: upgrade 2.2 -> 2.3 shadow: upgrade 4.9 -> 4.10 libmicrohttpd: upgrade 0.9.73 -> 0.9.75 gtk+3: upgrade 3.24.30 -> 3.24.31 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I11c88e9f9999d629de5a0ecdb44ccc1003b02376
Diffstat (limited to 'poky/meta/recipes-devtools/binutils')
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.37.inc6
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0001-CVE-2021-42574.patch2001
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0001-elf-Discard-input-.note.gnu.build-id-sections.patch215
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch41
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0009-Change-default-emulation-for-mips64-linux.patch57
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-Add-support-for-Netlogic-XLP.patch415
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch4
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0012-Detect-64-bit-MIPS-targets.patch47
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0013-Use-libtool-2.4.patch171
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.37.bb4
11 files changed, 2223 insertions, 740 deletions
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.37.inc b/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
index 6093558e4b..043f7f8235 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
@@ -22,19 +22,17 @@ SRCREV ?= "87d4632d36323091e731eb07b8aa65f90293da66"
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git"
SRC_URI = "\
${BINUTILS_GIT_URI} \
- file://0004-configure-widen-the-regexp-for-SH-architectures.patch \
file://0005-Point-scripts-location-to-libdir.patch \
file://0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
file://0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
file://0008-warn-for-uses-of-system-directories-when-cross-linki.patch \
- file://0009-Change-default-emulation-for-mips64-linux.patch \
- file://0010-Add-support-for-Netlogic-XLP.patch \
file://0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
- file://0012-Detect-64-bit-MIPS-targets.patch \
file://0013-Use-libtool-2.4.patch \
file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
file://0015-sync-with-OE-libtool-changes.patch \
file://0016-Check-for-clang-before-checking-gcc-version.patch \
file://0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch \
+ file://0001-elf-Discard-input-.note.gnu.build-id-sections.patch \
+ file://0001-CVE-2021-42574.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-CVE-2021-42574.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-CVE-2021-42574.patch
new file mode 100644
index 0000000000..0622ae389e
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-CVE-2021-42574.patch
@@ -0,0 +1,2001 @@
+From b3aa80b45c4f46029efeb204bb9f2d2c4278a0e5 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 9 Nov 2021 13:25:42 +0000
+Subject: [PATCH] Add --unicode option to control how unicode characters are
+ handled by display tools.
+
+ * nm.c: Add --unicode option to control how unicode characters are
+ handled.
+ * objdump.c: Likewise.
+ * readelf.c: Likewise.
+ * strings.c: Likewise.
+ * binutils.texi: Document the new feature.
+ * NEWS: Document the new feature.
+ * testsuite/binutils-all/unicode.exp: New file.
+ * testsuite/binutils-all/nm.hex.unicode
+ * testsuite/binutils-all/strings.escape.unicode
+ * testsuite/binutils-all/objdump.highlight.unicode
+ * testsuite/binutils-all/readelf.invalid.unicode
+
+CVE: CVE-2021-42574
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=b3aa80b45c4f46029efeb204bb9f2d2c4278a0e5]
+
+RP: Added tweak uint -> unsigned int partial backport of
+https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=795588aec4f894206863c938bd6d716895886009
+
+Signed-off-by: pgowda <pgowda.cve@gmail.com>
+---
+ binutils/ChangeLog | 15 +
+ binutils/NEWS | 9 +
+ binutils/doc/binutils.texi | 78 ++++
+ binutils/nm.c | 228 ++++++++++-
+ binutils/objdump.c | 235 ++++++++++--
+ binutils/readelf.c | 190 +++++++++-
+ binutils/strings.c | 757 ++++++++++++++++++++++++++++++++++---
+ 7 files changed, 1409 insertions(+), 103 deletions(-)
+
+diff --git a/binutils/ChangeLog b/binutils/ChangeLog
+--- a/binutils/ChangeLog 2021-12-19 19:00:27.038540406 -0800
++++ b/binutils/ChangeLog 2021-12-19 19:28:42.733565078 -0800
+@@ -1,3 +1,18 @@
++2021-11-09 Nick Clifton <nickc@redhat.com>
++
++ * nm.c: Add --unicode option to control how unicode characters are
++ handled.
++ * objdump.c: Likewise.
++ * readelf.c: Likewise.
++ * strings.c: Likewise.
++ * binutils.texi: Document the new feature.
++ * NEWS: Document the new feature.
++ * testsuite/binutils-all/unicode.exp: New file.
++ * testsuite/binutils-all/nm.hex.unicode
++ * testsuite/binutils-all/strings.escape.unicode
++ * testsuite/binutils-all/objdump.highlight.unicode
++ * testsuite/binutils-all/readelf.invalid.unicode
++
+ 2021-07-16 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
+--- a/binutils/doc/binutils.texi 2021-12-19 19:00:27.042540338 -0800
++++ b/binutils/doc/binutils.texi 2021-12-19 19:27:56.526354667 -0800
+@@ -812,6 +812,7 @@ nm [@option{-A}|@option{-o}|@option{--pr
+ [@option{-s}|@option{--print-armap}]
+ [@option{-t} @var{radix}|@option{--radix=}@var{radix}]
+ [@option{-u}|@option{--undefined-only}]
++ [@option{-U} @var{method}] [@option{--unicode=}@var{method}]
+ [@option{-V}|@option{--version}]
+ [@option{-X 32_64}]
+ [@option{--defined-only}]
+@@ -1132,6 +1133,21 @@ Use @var{radix} as the radix for printin
+ @cindex undefined symbols
+ Display only undefined symbols (those external to each object file).
+
++@item -U @var{[d|i|l|e|x|h]}
++@itemx --unicode=@var{[default|invalid|locale|escape|hex|highlight]}
++Controls the display of UTF-8 encoded mulibyte characters in strings.
++The default (@option{--unicode=default}) is to give them no special
++treatment. The @option{--unicode=locale} option displays the sequence
++in the current locale, which may or may not support them. The options
++@option{--unicode=hex} and @option{--unicode=invalid} display them as
++hex byte sequences enclosed by either angle brackets or curly braces.
++
++The @option{--unicode=escape} option displays them as escape sequences
++(@var{\uxxxx}) and the @option{--unicode=highlight} option displays
++them as escape sequences highlighted in red (if supported by the
++output device). The colouring is intended to draw attention to the
++presence of unicode sequences where they might not be expected.
++
+ @item -V
+ @itemx --version
+ Show the version number of @command{nm} and exit.
+@@ -2247,6 +2263,7 @@ objdump [@option{-a}|@option{--archive-h
+ [@option{--prefix-strip=}@var{level}]
+ [@option{--insn-width=}@var{width}]
+ [@option{--visualize-jumps[=color|=extended-color|=off]}
++ [@option{-U} @var{method}] [@option{--unicode=}@var{method}]
+ [@option{-V}|@option{--version}]
+ [@option{-H}|@option{--help}]
+ @var{objfile}@dots{}
+@@ -2921,6 +2938,21 @@ When displaying symbols include those wh
+ special in some way and which would not normally be of interest to the
+ user.
+
++@item -U @var{[d|i|l|e|x|h]}
++@itemx --unicode=@var{[default|invalid|locale|escape|hex|highlight]}
++Controls the display of UTF-8 encoded mulibyte characters in strings.
++The default (@option{--unicode=default}) is to give them no special
++treatment. The @option{--unicode=locale} option displays the sequence
++in the current locale, which may or may not support them. The options
++@option{--unicode=hex} and @option{--unicode=invalid} display them as
++hex byte sequences enclosed by either angle brackets or curly braces.
++
++The @option{--unicode=escape} option displays them as escape sequences
++(@var{\uxxxx}) and the @option{--unicode=highlight} option displays
++them as escape sequences highlighted in red (if supported by the
++output device). The colouring is intended to draw attention to the
++presence of unicode sequences where they might not be expected.
++
+ @item -V
+ @itemx --version
+ Print the version number of @command{objdump} and exit.
+@@ -3197,6 +3229,7 @@ strings [@option{-afovV}] [@option{-}@va
+ [@option{-n} @var{min-len}] [@option{--bytes=}@var{min-len}]
+ [@option{-t} @var{radix}] [@option{--radix=}@var{radix}]
+ [@option{-e} @var{encoding}] [@option{--encoding=}@var{encoding}]
++ [@option{-U} @var{method}] [@option{--unicode=}@var{method}]
+ [@option{-}] [@option{--all}] [@option{--print-file-name}]
+ [@option{-T} @var{bfdname}] [@option{--target=}@var{bfdname}]
+ [@option{-w}] [@option{--include-all-whitespace}]
+@@ -3288,6 +3321,28 @@ single-8-bit-byte characters, @samp{b} =
+ littleendian. Useful for finding wide character strings. (@samp{l}
+ and @samp{b} apply to, for example, Unicode UTF-16/UCS-2 encodings).
+
++@item -U @var{[d|i|l|e|x|h]}
++@itemx --unicode=@var{[default|invalid|locale|escape|hex|highlight]}
++Controls the display of UTF-8 encoded mulibyte characters in strings.
++The default (@option{--unicode=default}) is to give them no special
++treatment, and instead rely upon the setting of the
++@option{--encoding} option. The other values for this option
++automatically enable @option{--encoding=S}.
++
++The @option{--unicode=invalid} option treats them as non-graphic
++characters and hence not part of a valid string. All the remaining
++options treat them as valid string characters.
++
++The @option{--unicode=locale} option displays them in the current
++locale, which may or may not support UTF-8 encoding. The
++@option{--unicode=hex} option displays them as hex byte sequences
++enclosed between @var{<>} characters. The @option{--unicode=escape}
++option displays them as escape sequences (@var{\uxxxx}) and the
++@option{--unicode=highlight} option displays them as escape sequences
++highlighted in red (if supported by the output device). The colouring
++is intended to draw attention to the presence of unicode sequences
++where they might not be expected.
++
+ @item -T @var{bfdname}
+ @itemx --target=@var{bfdname}
+ @cindex object code format
+@@ -4796,6 +4851,7 @@ readelf [@option{-a}|@option{--all}]
+ [@option{--demangle@var{=style}}|@option{--no-demangle}]
+ [@option{--quiet}]
+ [@option{--recurse-limit}|@option{--no-recurse-limit}]
++ [@option{-U} @var{method}|@option{--unicode=}@var{method}]
+ [@option{-n}|@option{--notes}]
+ [@option{-r}|@option{--relocs}]
+ [@option{-u}|@option{--unwind}]
+@@ -4962,6 +5018,28 @@ necessary in order to demangle truly com
+ that if the recursion limit is disabled then stack exhaustion is
+ possible and any bug reports about such an event will be rejected.
+
++@item -U @var{[d|i|l|e|x|h]}
++@itemx --unicode=[default|invalid|locale|escape|hex|highlight]
++Controls the display of non-ASCII characters in identifier names.
++The default (@option{--unicode=locale} or @option{--unicode=default}) is
++to treat them as multibyte characters and display them in the current
++locale. All other versions of this option treat the bytes as UTF-8
++encoded values and attempt to interpret them. If they cannot be
++interpreted or if the @option{--unicode=invalid} option is used then
++they are displayed as a sequence of hex bytes, encloses in curly
++parethesis characters.
++
++Using the @option{--unicode=escape} option will display the characters
++as as unicode escape sequences (@var{\uxxxx}). Using the
++@option{--unicode=hex} will display the characters as hex byte
++sequences enclosed between angle brackets.
++
++Using the @option{--unicode=highlight} will display the characters as
++unicode escape sequences but it will also highlighted them in red,
++assuming that colouring is supported by the output device. The
++colouring is intended to draw attention to the presence of unicode
++sequences when they might not be expected.
++
+ @item -e
+ @itemx --headers
+ Display all the headers in the file. Equivalent to @option{-h -l -S}.
+diff --git a/binutils/NEWS b/binutils/NEWS
+--- a/binutils/NEWS 2021-12-19 19:00:27.038540406 -0800
++++ b/binutils/NEWS 2021-12-19 19:30:04.764162972 -0800
+@@ -1,5 +1,14 @@
+ -*- text -*-
+
++* Tools which display symbols or strings (readelf, strings, nm, objdump)
++ have a new command line option which controls how unicode characters are
++ handled. By default they are treated as normal for the tool. Using
++ --unicode=locale will display them according to the current locale.
++ Using --unicode=hex will display them as hex byte values, whilst
++ --unicode=escape will display them as escape sequences. In addition
++ using --unicode=highlight will display them as unicode escape sequences
++ highlighted in red (if supported by the output device).
++
+ Changes in 2.37:
+
+ * The readelf tool has a new command line option which can be used to specify
+diff --git a/binutils/nm.c b/binutils/nm.c
+--- a/binutils/nm.c 2021-12-19 19:00:27.046540270 -0800
++++ b/binutils/nm.c 2021-12-19 19:36:34.797491555 -0800
+@@ -38,6 +38,11 @@
+ #include "bucomm.h"
+ #include "plugin-api.h"
+ #include "plugin.h"
++#include "safe-ctype.h"
++
++#ifndef streq
++#define streq(a,b) (strcmp ((a),(b)) == 0)
++#endif
+
+ /* When sorting by size, we use this structure to hold the size and a
+ pointer to the minisymbol. */
+@@ -216,6 +221,18 @@ static const char *plugin_target = NULL;
+ static bfd *lineno_cache_bfd;
+ static bfd *lineno_cache_rel_bfd;
+
++typedef enum unicode_display_type
++{
++ unicode_default = 0,
++ unicode_locale,
++ unicode_escape,
++ unicode_hex,
++ unicode_highlight,
++ unicode_invalid
++} unicode_display_type;
++
++static unicode_display_type unicode_display = unicode_default;
++
+ enum long_option_values
+ {
+ OPTION_TARGET = 200,
+@@ -260,6 +277,7 @@ static struct option long_options[] =
+ {"target", required_argument, 0, OPTION_TARGET},
+ {"defined-only", no_argument, &defined_only, 1},
+ {"undefined-only", no_argument, &undefined_only, 1},
++ {"unicode", required_argument, NULL, 'U'},
+ {"version", no_argument, &show_version, 1},
+ {"with-symbol-versions", no_argument, &with_symbol_versions, 1},
+ {"without-symbol-versions", no_argument, &with_symbol_versions, 0},
+@@ -313,6 +331,8 @@ usage (FILE *stream, int status)
+ -t, --radix=RADIX Use RADIX for printing symbol values\n\
+ --target=BFDNAME Specify the target object format as BFDNAME\n\
+ -u, --undefined-only Display only undefined symbols\n\
++ -U {d|s|i|x|e|h} Specify how to treat UTF-8 encoded unicode characters\n\
++ --unicode={default|show|invalid|hex|escape|highlight}\n\
+ --with-symbol-versions Display version strings after symbol names\n\
+ -X 32_64 (ignored)\n\
+ @FILE Read options from FILE\n\
+@@ -432,6 +452,187 @@ get_coff_symbol_type (const struct inter
+ return bufp;
+ }
+
++/* Convert a potential UTF-8 encoded sequence in IN into characters in OUT.
++ The conversion format is controlled by the unicode_display variable.
++ Returns the number of characters added to OUT.
++ Returns the number of bytes consumed from IN in CONSUMED.
++ Always consumes at least one byte and displays at least one character. */
++
++static unsigned int
++display_utf8 (const unsigned char * in, char * out, unsigned int * consumed)
++{
++ char * orig_out = out;
++ unsigned int nchars = 0;
++ unsigned int j;
++
++ if (unicode_display == unicode_default)
++ goto invalid;
++
++ if (in[0] < 0xc0)
++ goto invalid;
++
++ if ((in[1] & 0xc0) != 0x80)
++ goto invalid;
++
++ if ((in[0] & 0x20) == 0)
++ {
++ nchars = 2;
++ goto valid;
++ }
++
++ if ((in[2] & 0xc0) != 0x80)
++ goto invalid;
++
++ if ((in[0] & 0x10) == 0)
++ {
++ nchars = 3;
++ goto valid;
++ }
++
++ if ((in[3] & 0xc0) != 0x80)
++ goto invalid;
++
++ nchars = 4;
++
++ valid:
++ switch (unicode_display)
++ {
++ case unicode_locale:
++ /* Copy the bytes into the output buffer as is. */
++ memcpy (out, in, nchars);
++ out += nchars;
++ break;
++
++ case unicode_invalid:
++ case unicode_hex:
++ out += sprintf (out, "%c", unicode_display == unicode_hex ? '<' : '{');
++ out += sprintf (out, "0x");
++ for (j = 0; j < nchars; j++)
++ out += sprintf (out, "%02x", in [j]);
++ out += sprintf (out, "%c", unicode_display == unicode_hex ? '>' : '}');
++ break;
++
++ case unicode_highlight:
++ if (isatty (1))
++ out += sprintf (out, "\x1B[31;47m"); /* Red. */
++ /* Fall through. */
++ case unicode_escape:
++ switch (nchars)
++ {
++ case 2:
++ out += sprintf (out, "\\u%02x%02x",
++ ((in[0] & 0x1c) >> 2),
++ ((in[0] & 0x03) << 6) | (in[1] & 0x3f));
++ break;
++
++ case 3:
++ out += sprintf (out, "\\u%02x%02x",
++ ((in[0] & 0x0f) << 4) | ((in[1] & 0x3c) >> 2),
++ ((in[1] & 0x03) << 6) | ((in[2] & 0x3f)));
++ break;
++
++ case 4:
++ out += sprintf (out, "\\u%02x%02x%02x",
++ ((in[0] & 0x07) << 6) | ((in[1] & 0x3c) >> 2),
++ ((in[1] & 0x03) << 6) | ((in[2] & 0x3c) >> 2),
++ ((in[2] & 0x03) << 6) | ((in[3] & 0x3f)));
++ break;
++ default:
++ /* URG. */
++ break;
++ }
++
++ if (unicode_display == unicode_highlight && isatty (1))
++ out += sprintf (out, "\033[0m"); /* Default colour. */
++ break;
++
++ default:
++ /* URG */
++ break;
++ }
++
++ * consumed = nchars;
++ return out - orig_out;
++
++ invalid:
++ /* Not a valid UTF-8 sequence. */
++ *out = *in;
++ * consumed = 1;
++ return 1;
++}
++
++/* Convert any UTF-8 encoded characters in NAME into the form specified by
++ unicode_display. Also converts control characters. Returns a static
++ buffer if conversion was necessary.
++ Code stolen from objdump.c:sanitize_string(). */
++
++static const char *
++convert_utf8 (const char * in)
++{
++ static char * buffer = NULL;
++ static size_t buffer_len = 0;
++ const char * original = in;
++ char * out;
++
++ /* Paranoia. */
++ if (in == NULL)
++ return "";
++
++ /* See if any conversion is necessary.
++ In the majority of cases it will not be needed. */
++ do
++ {
++ unsigned char c = *in++;
++
++ if (c == 0)
++ return original;
++
++ if (ISCNTRL (c))
++ break;
++
++ if (unicode_display != unicode_default && c >= 0xc0)
++ break;
++ }
++ while (1);
++
++ /* Copy the input, translating as needed. */
++ in = original;
++ if (buffer_len < (strlen (in) * 9))
++ {
++ free ((void *) buffer);
++ buffer_len = strlen (in) * 9;
++ buffer = xmalloc (buffer_len + 1);
++ }
++
++ out = buffer;
++ do
++ {
++ unsigned char c = *in++;
++
++ if (c == 0)
++ break;
++
++ if (ISCNTRL (c))
++ {
++ *out++ = '^';
++ *out++ = c + 0x40;
++ }
++ else if (unicode_display != unicode_default && c >= 0xc0)
++ {
++ unsigned int num_consumed;
++
++ out += display_utf8 ((const unsigned char *)(in - 1), out, & num_consumed);
++ in += num_consumed - 1;
++ }
++ else
++ *out++ = c;
++ }
++ while (1);
++
++ *out = 0;
++ return buffer;
++}
++
+ /* Print symbol name NAME, read from ABFD, with printf format FORM,
+ demangling it if requested. */
+
+@@ -444,6 +645,7 @@ print_symname (const char *form, struct
+
+ if (name == NULL)
+ name = info->sinfo->name;
++
+ if (!with_symbol_versions
+ && bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+ {
+@@ -451,6 +653,7 @@ print_symname (const char *form, struct
+ if (atver)
+ *atver = 0;
+ }
++
+ if (do_demangle && *name)
+ {
+ alloc = bfd_demangle (abfd, name, demangle_flags);
+@@ -458,6 +661,11 @@ print_symname (const char *form, struct
+ name = alloc;
+ }
+
++ if (unicode_display != unicode_default)
++ {
++ name = convert_utf8 (name);
++ }
++
+ if (info != NULL && info->elfinfo && with_symbol_versions)
+ {
+ const char *version_string;
+@@ -1807,7 +2015,7 @@ main (int argc, char **argv)
+ fatal (_("fatal error: libbfd ABI mismatch"));
+ set_default_bfd_target ();
+
+- while ((c = getopt_long (argc, argv, "aABCDef:gHhjJlnopPrSst:uvVvX:",
++ while ((c = getopt_long (argc, argv, "aABCDef:gHhjJlnopPrSst:uU:vVvX:",
+ long_options, (int *) 0)) != EOF)
+ {
+ switch (c)
+@@ -1900,6 +2108,24 @@ main (int argc, char **argv)
+ case 'u':
+ undefined_only = 1;
+ break;
++
++ case 'U':
++ if (streq (optarg, "default") || streq (optarg, "d"))
++ unicode_display = unicode_default;
++ else if (streq (optarg, "locale") || streq (optarg, "l"))
++ unicode_display = unicode_locale;
++ else if (streq (optarg, "escape") || streq (optarg, "e"))
++ unicode_display = unicode_escape;
++ else if (streq (optarg, "invalid") || streq (optarg, "i"))
++ unicode_display = unicode_invalid;
++ else if (streq (optarg, "hex") || streq (optarg, "x"))
++ unicode_display = unicode_hex;
++ else if (streq (optarg, "highlight") || streq (optarg, "h"))
++ unicode_display = unicode_highlight;
++ else
++ fatal (_("invalid argument to -U/--unicode: %s"), optarg);
++ break;
++
+ case 'V':
+ show_version = 1;
+ break;
+diff --git a/binutils/objdump.c b/binutils/objdump.c
+--- a/binutils/objdump.c 2021-12-19 19:00:27.046540270 -0800
++++ b/binutils/objdump.c 2021-12-19 19:43:09.438736729 -0800
+@@ -204,6 +204,18 @@ static const struct objdump_private_desc
+
+ /* The list of detected jumps inside a function. */
+ static struct jump_info *detected_jumps = NULL;
++
++typedef enum unicode_display_type
++{
++ unicode_default = 0,
++ unicode_locale,
++ unicode_escape,
++ unicode_hex,
++ unicode_highlight,
++ unicode_invalid
++} unicode_display_type;
++
++static unicode_display_type unicode_display = unicode_default;
+
+ static void usage (FILE *, int) ATTRIBUTE_NORETURN;
+ static void
+@@ -330,6 +342,9 @@ usage (FILE *stream, int status)
+ fprintf (stream, _("\
+ -w, --wide Format output for more than 80 columns\n"));
+ fprintf (stream, _("\
++ -U[d|l|i|x|e|h] Controls the display of UTF-8 unicode characters\n\
++ --unicode=[default|locale|invalid|hex|escape|highlight]\n"));
++ fprintf (stream, _("\
+ -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n"));
+ fprintf (stream, _("\
+ --start-address=ADDR Only process data whose address is >= ADDR\n"));
+@@ -420,17 +435,23 @@ static struct option long_options[]=
+ {
+ {"adjust-vma", required_argument, NULL, OPTION_ADJUST_VMA},
+ {"all-headers", no_argument, NULL, 'x'},
+- {"private-headers", no_argument, NULL, 'p'},
+- {"private", required_argument, NULL, 'P'},
+ {"architecture", required_argument, NULL, 'm'},
+ {"archive-headers", no_argument, NULL, 'a'},
++#ifdef ENABLE_LIBCTF
++ {"ctf", required_argument, NULL, OPTION_CTF},
++ {"ctf-parent", required_argument, NULL, OPTION_CTF_PARENT},
++#endif
+ {"debugging", no_argument, NULL, 'g'},
+ {"debugging-tags", no_argument, NULL, 'e'},
+ {"demangle", optional_argument, NULL, 'C'},
+ {"disassemble", optional_argument, NULL, 'd'},
+ {"disassemble-all", no_argument, NULL, 'D'},
+- {"disassembler-options", required_argument, NULL, 'M'},
+ {"disassemble-zeroes", no_argument, NULL, 'z'},
++ {"disassembler-options", required_argument, NULL, 'M'},
++ {"dwarf", optional_argument, NULL, OPTION_DWARF},
++ {"dwarf-check", no_argument, 0, OPTION_DWARF_CHECK},
++ {"dwarf-depth", required_argument, 0, OPTION_DWARF_DEPTH},
++ {"dwarf-start", required_argument, 0, OPTION_DWARF_START},
+ {"dynamic-reloc", no_argument, NULL, 'R'},
+ {"dynamic-syms", no_argument, NULL, 'T'},
+ {"endian", required_argument, NULL, OPTION_ENDIAN},
+@@ -440,16 +461,23 @@ static struct option long_options[]=
+ {"full-contents", no_argument, NULL, 's'},
+ {"headers", no_argument, NULL, 'h'},
+ {"help", no_argument, NULL, 'H'},
++ {"include", required_argument, NULL, 'I'},
+ {"info", no_argument, NULL, 'i'},
++ {"inlines", no_argument, 0, OPTION_INLINES},
++ {"insn-width", required_argument, NULL, OPTION_INSN_WIDTH},
+ {"line-numbers", no_argument, NULL, 'l'},
+- {"no-show-raw-insn", no_argument, &show_raw_insn, -1},
+ {"no-addresses", no_argument, &no_addresses, 1},
+- {"process-links", no_argument, &process_links, true},
++ {"no-recurse-limit", no_argument, NULL, OPTION_NO_RECURSE_LIMIT},
++ {"no-recursion-limit", no_argument, NULL, OPTION_NO_RECURSE_LIMIT},
++ {"no-show-raw-insn", no_argument, &show_raw_insn, -1},
++ {"prefix", required_argument, NULL, OPTION_PREFIX},
+ {"prefix-addresses", no_argument, &prefix_addresses, 1},
++ {"prefix-strip", required_argument, NULL, OPTION_PREFIX_STRIP},
++ {"private", required_argument, NULL, 'P'},
++ {"private-headers", no_argument, NULL, 'p'},
++ {"process-links", no_argument, &process_links, true},
+ {"recurse-limit", no_argument, NULL, OPTION_RECURSE_LIMIT},
+ {"recursion-limit", no_argument, NULL, OPTION_RECURSE_LIMIT},
+- {"no-recurse-limit", no_argument, NULL, OPTION_NO_RECURSE_LIMIT},
+- {"no-recursion-limit", no_argument, NULL, OPTION_NO_RECURSE_LIMIT},
+ {"reloc", no_argument, NULL, 'r'},
+ {"section", required_argument, NULL, 'j'},
+ {"section-headers", no_argument, NULL, 'h'},
+@@ -457,28 +485,16 @@ static struct option long_options[]=
+ {"source", no_argument, NULL, 'S'},
+ {"source-comment", optional_argument, NULL, OPTION_SOURCE_COMMENT},
+ {"special-syms", no_argument, &dump_special_syms, 1},
+- {"include", required_argument, NULL, 'I'},
+- {"dwarf", optional_argument, NULL, OPTION_DWARF},
+-#ifdef ENABLE_LIBCTF
+- {"ctf", required_argument, NULL, OPTION_CTF},
+- {"ctf-parent", required_argument, NULL, OPTION_CTF_PARENT},
+-#endif
+ {"stabs", no_argument, NULL, 'G'},
+ {"start-address", required_argument, NULL, OPTION_START_ADDRESS},
+ {"stop-address", required_argument, NULL, OPTION_STOP_ADDRESS},
+ {"syms", no_argument, NULL, 't'},
+ {"target", required_argument, NULL, 'b'},
++ {"unicode", required_argument, NULL, 'U'},
+ {"version", no_argument, NULL, 'V'},
+- {"wide", no_argument, NULL, 'w'},
+- {"prefix", required_argument, NULL, OPTION_PREFIX},
+- {"prefix-strip", required_argument, NULL, OPTION_PREFIX_STRIP},
+- {"insn-width", required_argument, NULL, OPTION_INSN_WIDTH},
+- {"dwarf-depth", required_argument, 0, OPTION_DWARF_DEPTH},
+- {"dwarf-start", required_argument, 0, OPTION_DWARF_START},
+- {"dwarf-check", no_argument, 0, OPTION_DWARF_CHECK},
+- {"inlines", no_argument, 0, OPTION_INLINES},
+ {"visualize-jumps", optional_argument, 0, OPTION_VISUALIZE_JUMPS},
+- {0, no_argument, 0, 0}
++ {"wide", no_argument, NULL, 'w'},
++ {NULL, no_argument, NULL, 0}
+ };
+
+ static void
+@@ -488,9 +504,121 @@ nonfatal (const char *msg)
+ exit_status = 1;
+ }
+
++/* Convert a potential UTF-8 encoded sequence in IN into characters in OUT.
++ The conversion format is controlled by the unicode_display variable.
++ Returns the number of characters added to OUT.
++ Returns the number of bytes consumed from IN in CONSUMED.
++ Always consumes at least one byte and displays at least one character. */
++
++static unsigned int
++display_utf8 (const unsigned char * in, char * out, unsigned int * consumed)
++{
++ char * orig_out = out;
++ unsigned int nchars = 0;
++ unsigned int j;
++
++ if (unicode_display == unicode_default)
++ goto invalid;
++
++ if (in[0] < 0xc0)
++ goto invalid;
++
++ if ((in[1] & 0xc0) != 0x80)
++ goto invalid;
++
++ if ((in[0] & 0x20) == 0)
++ {
++ nchars = 2;
++ goto valid;
++ }
++
++ if ((in[2] & 0xc0) != 0x80)
++ goto invalid;
++
++ if ((in[0] & 0x10) == 0)
++ {
++ nchars = 3;
++ goto valid;
++ }
++
++ if ((in[3] & 0xc0) != 0x80)
++ goto invalid;
++
++ nchars = 4;
++
++ valid:
++ switch (unicode_display)
++ {
++ case unicode_locale:
++ /* Copy the bytes into the output buffer as is. */
++ memcpy (out, in, nchars);
++ out += nchars;
++ break;
++
++ case unicode_invalid:
++ case unicode_hex:
++ out += sprintf (out, "%c", unicode_display == unicode_hex ? '<' : '{');
++ out += sprintf (out, "0x");
++ for (j = 0; j < nchars; j++)
++ out += sprintf (out, "%02x", in [j]);
++ out += sprintf (out, "%c", unicode_display == unicode_hex ? '>' : '}');
++ break;
++
++ case unicode_highlight:
++ if (isatty (1))
++ out += sprintf (out, "\x1B[31;47m"); /* Red. */
++ /* Fall through. */
++ case unicode_escape:
++ switch (nchars)
++ {
++ case 2:
++ out += sprintf (out, "\\u%02x%02x",
++ ((in[0] & 0x1c) >> 2),
++ ((in[0] & 0x03) << 6) | (in[1] & 0x3f));
++ break;
++
++ case 3:
++ out += sprintf (out, "\\u%02x%02x",
++ ((in[0] & 0x0f) << 4) | ((in[1] & 0x3c) >> 2),
++ ((in[1] & 0x03) << 6) | ((in[2] & 0x3f)));
++ break;
++
++ case 4:
++ out += sprintf (out, "\\u%02x%02x%02x",
++ ((in[0] & 0x07) << 6) | ((in[1] & 0x3c) >> 2),
++ ((in[1] & 0x03) << 6) | ((in[2] & 0x3c) >> 2),
++ ((in[2] & 0x03) << 6) | ((in[3] & 0x3f)));
++ break;
++ default:
++ /* URG. */
++ break;
++ }
++
++ if (unicode_display == unicode_highlight && isatty (1))
++ out += sprintf (out, "\033[0m"); /* Default colour. */
++ break;
++
++ default:
++ /* URG */
++ break;
++ }
++
++ * consumed = nchars;
++ return out - orig_out;
++
++ invalid:
++ /* Not a valid UTF-8 sequence. */
++ *out = *in;
++ * consumed = 1;
++ return 1;
++}
++
+ /* Returns a version of IN with any control characters
+ replaced by escape sequences. Uses a static buffer
+- if necessary. */
++ if necessary.
++
++ If unicode display is enabled, then also handles the
++ conversion of unicode characters. */
+
+ static const char *
+ sanitize_string (const char * in)
+@@ -508,40 +636,50 @@ sanitize_string (const char * in)
+ of cases it will not be needed. */
+ do
+ {
+- char c = *in++;
++ unsigned char c = *in++;
+
+ if (c == 0)
+ return original;
+
+ if (ISCNTRL (c))
+ break;
++
++ if (unicode_display != unicode_default && c >= 0xc0)
++ break;
+ }
+ while (1);
+
+ /* Copy the input, translating as needed. */
+ in = original;
+- if (buffer_len < (strlen (in) * 2))
++ if (buffer_len < (strlen (in) * 9))
+ {
+ free ((void *) buffer);
+- buffer_len = strlen (in) * 2;
++ buffer_len = strlen (in) * 9;
+ buffer = xmalloc (buffer_len + 1);
+ }
+
+ out = buffer;
+ do
+ {
+- char c = *in++;
++ unsigned char c = *in++;
+
+ if (c == 0)
+ break;
+
+- if (!ISCNTRL (c))
+- *out++ = c;
+- else
++ if (ISCNTRL (c))
+ {
+ *out++ = '^';
+ *out++ = c + 0x40;
+ }
++ else if (unicode_display != unicode_default && c >= 0xc0)
++ {
++ unsigned int num_consumed;
++
++ out += display_utf8 ((const unsigned char *)(in - 1), out, & num_consumed);
++ in += num_consumed - 1;
++ }
++ else
++ *out++ = c;
+ }
+ while (1);
+
+@@ -4529,6 +4667,24 @@ dump_symbols (bfd *abfd ATTRIBUTE_UNUSED
+ free (alloc);
+ }
+ }
++ else if (unicode_display != unicode_default
++ && name != NULL && *name != '\0')
++ {
++ const char * sanitized_name;
++
++ /* If we want to sanitize the name, we do it here, and
++ temporarily clobber it while calling bfd_print_symbol.
++ FIXME: This is a gross hack. */
++ sanitized_name = sanitize_string (name);
++ if (sanitized_name != name)
++ (*current)->name = sanitized_name;
++ else
++ sanitized_name = NULL;
++ bfd_print_symbol (cur_bfd, stdout, *current,
++ bfd_print_symbol_all);
++ if (sanitized_name != NULL)
++ (*current)->name = name;
++ }
+ else
+ bfd_print_symbol (cur_bfd, stdout, *current,
+ bfd_print_symbol_all);
+@@ -5212,7 +5368,7 @@ main (int argc, char **argv)
+ set_default_bfd_target ();
+
+ while ((c = getopt_long (argc, argv,
+- "pP:ib:m:M:VvCdDlfFaHhrRtTxsSI:j:wE:zgeGW::",
++ "CDE:FGHI:LM:P:RSTU:VW::ab:defghij:lm:prstvwxz",
+ long_options, (int *) 0))
+ != EOF)
+ {
+@@ -5495,6 +5651,23 @@ main (int argc, char **argv)
+ seenflag = true;
+ break;
+
++ case 'U':
++ if (streq (optarg, "default") || streq (optarg, "d"))
++ unicode_display = unicode_default;
++ else if (streq (optarg, "locale") || streq (optarg, "l"))
++ unicode_display = unicode_locale;
++ else if (streq (optarg, "escape") || streq (optarg, "e"))
++ unicode_display = unicode_escape;
++ else if (streq (optarg, "invalid") || streq (optarg, "i"))
++ unicode_display = unicode_invalid;
++ else if (streq (optarg, "hex") || streq (optarg, "x"))
++ unicode_display = unicode_hex;
++ else if (streq (optarg, "highlight") || streq (optarg, "h"))
++ unicode_display = unicode_highlight;
++ else
++ fatal (_("invalid argument to -U/--unicode: %s"), optarg);
++ break;
++
+ case 'H':
+ usage (stdout, 0);
+ /* No need to set seenflag or to break - usage() does not return. */
+diff --git a/binutils/readelf.c b/binutils/readelf.c
+--- a/binutils/readelf.c 2021-12-19 19:00:27.058540065 -0800
++++ b/binutils/readelf.c 2021-12-19 19:27:56.538354462 -0800
+@@ -328,6 +328,19 @@ typedef enum print_mode
+ }
+ print_mode;
+
++typedef enum unicode_display_type
++{
++ unicode_default = 0,
++ unicode_locale,
++ unicode_escape,
++ unicode_hex,
++ unicode_highlight,
++ unicode_invalid
++} unicode_display_type;
++
++static unicode_display_type unicode_display = unicode_default;
++
++
+ /* Versioned symbol info. */
+ enum versioned_symbol_info
+ {
+@@ -632,11 +645,18 @@ print_symbol (signed int width, const ch
+ if (c == 0)
+ break;
+
+- /* Do not print control characters directly as they can affect terminal
+- settings. Such characters usually appear in the names generated
+- by the assembler for local labels. */
+- if (ISCNTRL (c))
++ if (ISPRINT (c))
++ {
++ putchar (c);
++ width_remaining --;
++ num_printed ++;
++ }
++ else if (ISCNTRL (c))
+ {
++ /* Do not print control characters directly as they can affect terminal
++ settings. Such characters usually appear in the names generated
++ by the assembler for local labels. */
++
+ if (width_remaining < 2)
+ break;
+
+@@ -644,11 +664,137 @@ print_symbol (signed int width, const ch
+ width_remaining -= 2;
+ num_printed += 2;
+ }
+- else if (ISPRINT (c))
++ else if (c == 0x7f)
+ {
+- putchar (c);
+- width_remaining --;
+- num_printed ++;
++ if (width_remaining < 5)
++ break;
++ printf ("<DEL>");
++ width_remaining -= 5;
++ num_printed += 5;
++ }
++ else if (unicode_display != unicode_locale
++ && unicode_display != unicode_default)
++ {
++ /* Display unicode characters as something else. */
++ unsigned char bytes[4];
++ bool is_utf8;
++ unsigned int nbytes;
++
++ bytes[0] = c;
++
++ if (bytes[0] < 0xc0)
++ {
++ nbytes = 1;
++ is_utf8 = false;
++ }
++ else
++ {
++ bytes[1] = *symbol++;
++
++ if ((bytes[1] & 0xc0) != 0x80)
++ {
++ is_utf8 = false;
++ /* Do not consume this character. It may only
++ be the first byte in the sequence that was
++ corrupt. */
++ --symbol;
++ nbytes = 1;
++ }
++ else if ((bytes[0] & 0x20) == 0)
++ {
++ is_utf8 = true;
++ nbytes = 2;
++ }
++ else
++ {
++ bytes[2] = *symbol++;
++
++ if ((bytes[2] & 0xc0) != 0x80)
++ {
++ is_utf8 = false;
++ symbol -= 2;
++ nbytes = 1;
++ }
++ else if ((bytes[0] & 0x10) == 0)
++ {
++ is_utf8 = true;
++ nbytes = 3;
++ }
++ else
++ {
++ bytes[3] = *symbol++;
++
++ nbytes = 4;
++
++ if ((bytes[3] & 0xc0) != 0x80)
++ {
++ is_utf8 = false;
++ symbol -= 3;
++ nbytes = 1;
++ }
++ else
++ is_utf8 = true;
++ }
++ }
++ }
++
++ if (unicode_display == unicode_invalid)
++ is_utf8 = false;
++
++ if (unicode_display == unicode_hex || ! is_utf8)
++ {
++ unsigned int i;
++
++ if (width_remaining < (nbytes * 2) + 2)
++ break;
++
++ putchar (is_utf8 ? '<' : '{');
++ printf ("0x");
++ for (i = 0; i < nbytes; i++)
++ printf ("%02x", bytes[i]);
++ putchar (is_utf8 ? '>' : '}');
++ }
++ else
++ {
++ if (unicode_display == unicode_highlight && isatty (1))
++ printf ("\x1B[31;47m"); /* Red. */
++
++ switch (nbytes)
++ {
++ case 2:
++ if (width_remaining < 6)
++ break;
++ printf ("\\u%02x%02x",
++ (bytes[0] & 0x1c) >> 2,
++ ((bytes[0] & 0x03) << 6) | (bytes[1] & 0x3f));
++ break;
++ case 3:
++ if (width_remaining < 6)
++ break;
++ printf ("\\u%02x%02x",
++ ((bytes[0] & 0x0f) << 4) | ((bytes[1] & 0x3c) >> 2),
++ ((bytes[1] & 0x03) << 6) | (bytes[2] & 0x3f));
++ break;
++ case 4:
++ if (width_remaining < 8)
++ break;
++ printf ("\\u%02x%02x%02x",
++ ((bytes[0] & 0x07) << 6) | ((bytes[1] & 0x3c) >> 2),
++ ((bytes[1] & 0x03) << 6) | ((bytes[2] & 0x3c) >> 2),
++ ((bytes[2] & 0x03) << 6) | (bytes[3] & 0x3f));
++
++ break;
++ default:
++ /* URG. */
++ break;
++ }
++
++ if (unicode_display == unicode_highlight && isatty (1))
++ printf ("\033[0m"); /* Default colour. */
++ }
++
++ if (bytes[nbytes - 1] == 0)
++ break;
+ }
+ else
+ {
+@@ -4668,6 +4814,7 @@ static struct option options[] =
+ {"syms", no_argument, 0, 's'},
+ {"silent-truncation",no_argument, 0, 'T'},
+ {"section-details", no_argument, 0, 't'},
++ {"unicode", required_argument, NULL, 'U'},
+ {"unwind", no_argument, 0, 'u'},
+ {"version-info", no_argument, 0, 'V'},
+ {"version", no_argument, 0, 'v'},
+@@ -4744,6 +4891,12 @@ usage (FILE * stream)
+ fprintf (stream, _("\
+ --no-recurse-limit Disable a demangling recursion limit\n"));
+ fprintf (stream, _("\
++ -U[dlexhi] --unicode=[default|locale|escape|hex|highlight|invalid]\n\
++ Display unicode characters as determined by the current locale\n\
++ (default), escape sequences, \"<hex sequences>\", highlighted\n\
++ escape sequences, or treat them as invalid and display as\n\
++ \"{hex sequences}\"\n"));
++ fprintf (stream, _("\
+ -n --notes Display the core notes (if present)\n"));
+ fprintf (stream, _("\
+ -r --relocs Display the relocations (if present)\n"));
+@@ -4928,7 +5081,7 @@ parse_args (struct dump_data *dumpdata,
+ usage (stderr);
+
+ while ((c = getopt_long
+- (argc, argv, "ACDHILNPR:STVWacdeghi:lnp:rstuvw::x:z", options, NULL)) != EOF)
++ (argc, argv, "ACDHILNPR:STU:VWacdeghi:lnp:rstuvw::x:z", options, NULL)) != EOF)
+ {
+ switch (c)
+ {
+@@ -5130,6 +5283,25 @@ parse_args (struct dump_data *dumpdata,
+ /* Ignored for backward compatibility. */
+ break;
+
++ case 'U':
++ if (optarg == NULL)
++ error (_("Missing arg to -U/--unicode")); /* Can this happen ? */
++ else if (streq (optarg, "default") || streq (optarg, "d"))
++ unicode_display = unicode_default;
++ else if (streq (optarg, "locale") || streq (optarg, "l"))
++ unicode_display = unicode_locale;
++ else if (streq (optarg, "escape") || streq (optarg, "e"))
++ unicode_display = unicode_escape;
++ else if (streq (optarg, "invalid") || streq (optarg, "i"))
++ unicode_display = unicode_invalid;
++ else if (streq (optarg, "hex") || streq (optarg, "x"))
++ unicode_display = unicode_hex;
++ else if (streq (optarg, "highlight") || streq (optarg, "h"))
++ unicode_display = unicode_highlight;
++ else
++ error (_("invalid argument to -U/--unicode: %s"), optarg);
++ break;
++
+ case OPTION_SYM_BASE:
+ sym_base = 0;
+ if (optarg != NULL)
+diff --git a/binutils/strings.c b/binutils/strings.c
+--- a/binutils/strings.c 2021-12-19 19:00:27.058540065 -0800
++++ b/binutils/strings.c 2021-12-19 19:48:26.205313218 -0800
+@@ -55,6 +55,19 @@
+ -T {bfdname}
+ Specify a non-default object file format.
+
++ --unicode={default|locale|invalid|hex|escape|highlight}
++ -u {d|l|i|x|e|h}
++ Determine how to handle UTF-8 unicode characters. The default
++ is no special treatment. All other versions of this option
++ only apply if the encoding is valid and enabling the option
++ implies --encoding=S.
++ The 'locale' option displays the characters according to the
++ current locale. The 'invalid' option treats them as
++ non-string characters. The 'hex' option displays them as hex
++ byte sequences. The 'escape' option displays them as escape
++ sequences and the 'highlight' option displays them as
++ coloured escape sequences.
++
+ --output-separator=sep_string
+ -s sep_string String used to separate parsed strings in output.
+ Default is newline.
+@@ -76,6 +89,22 @@
+ #include "safe-ctype.h"
+ #include "bucomm.h"
+
++#ifndef streq
++#define streq(a,b) (strcmp ((a),(b)) == 0)
++#endif
++
++typedef enum unicode_display_type
++{
++ unicode_default = 0,
++ unicode_locale,
++ unicode_escape,
++ unicode_hex,
++ unicode_highlight,
++ unicode_invalid
++} unicode_display_type;
++
++static unicode_display_type unicode_display = unicode_default;
++
+ #define STRING_ISGRAPHIC(c) \
+ ( (c) >= 0 \
+ && (c) <= 255 \
+@@ -94,7 +123,7 @@ extern int errno;
+ static int address_radix;
+
+ /* Minimum length of sequence of graphic chars to trigger output. */
+-static int string_min;
++static unsigned int string_min;
+
+ /* Whether or not we include all whitespace as a graphic char. */
+ static bool include_all_whitespace;
+@@ -121,21 +150,22 @@ static char *output_separator;
+ static struct option long_options[] =
+ {
+ {"all", no_argument, NULL, 'a'},
++ {"bytes", required_argument, NULL, 'n'},
+ {"data", no_argument, NULL, 'd'},
++ {"encoding", required_argument, NULL, 'e'},
++ {"help", no_argument, NULL, 'h'},
++ {"include-all-whitespace", no_argument, NULL, 'w'},
++ {"output-separator", required_argument, NULL, 's'},
+ {"print-file-name", no_argument, NULL, 'f'},
+- {"bytes", required_argument, NULL, 'n'},
+ {"radix", required_argument, NULL, 't'},
+- {"include-all-whitespace", no_argument, NULL, 'w'},
+- {"encoding", required_argument, NULL, 'e'},
+ {"target", required_argument, NULL, 'T'},
+- {"output-separator", required_argument, NULL, 's'},
+- {"help", no_argument, NULL, 'h'},
++ {"unicode", required_argument, NULL, 'U'},
+ {"version", no_argument, NULL, 'v'},
+ {NULL, 0, NULL, 0}
+ };
+
+ static bool strings_file (char *);
+-static void print_strings (const char *, FILE *, file_ptr, int, int, char *);
++static void print_strings (const char *, FILE *, file_ptr, int, char *);
+ static void usage (FILE *, int) ATTRIBUTE_NORETURN;
+
+ int main (int, char **);
+@@ -171,7 +201,7 @@ main (int argc, char **argv)
+ encoding = 's';
+ output_separator = NULL;
+
+- while ((optc = getopt_long (argc, argv, "adfhHn:wot:e:T:s:Vv0123456789",
++ while ((optc = getopt_long (argc, argv, "adfhHn:wot:e:T:s:U:Vv0123456789",
+ long_options, (int *) 0)) != EOF)
+ {
+ switch (optc)
+@@ -244,6 +274,23 @@ main (int argc, char **argv)
+ output_separator = optarg;
+ break;
+
++ case 'U':
++ if (streq (optarg, "default") || streq (optarg, "d"))
++ unicode_display = unicode_default;
++ else if (streq (optarg, "locale") || streq (optarg, "l"))
++ unicode_display = unicode_locale;
++ else if (streq (optarg, "escape") || streq (optarg, "e"))
++ unicode_display = unicode_escape;
++ else if (streq (optarg, "invalid") || streq (optarg, "i"))
++ unicode_display = unicode_invalid;
++ else if (streq (optarg, "hex") || streq (optarg, "x"))
++ unicode_display = unicode_hex;
++ else if (streq (optarg, "highlight") || streq (optarg, "h"))
++ unicode_display = unicode_highlight;
++ else
++ fatal (_("invalid argument to -U/--unicode: %s"), optarg);
++ break;
++
+ case 'V':
+ case 'v':
+ print_version ("strings");
+@@ -258,6 +305,9 @@ main (int argc, char **argv)
+ }
+ }
+
++ if (unicode_display != unicode_default)
++ encoding = 'S';
++
+ if (numeric_opt != 0)
+ {
+ string_min = (int) strtoul (argv[numeric_opt - 1] + 1, &s, 0);
+@@ -293,14 +343,14 @@ main (int argc, char **argv)
+ {
+ datasection_only = false;
+ SET_BINARY (fileno (stdin));
+- print_strings ("{standard input}", stdin, 0, 0, 0, (char *) NULL);
++ print_strings ("{standard input}", stdin, 0, 0, (char *) NULL);
+ files_given = true;
+ }
+ else
+ {
+ for (; optind < argc; ++optind)
+ {
+- if (strcmp (argv[optind], "-") == 0)
++ if (streq (argv[optind], "-"))
+ datasection_only = false;
+ else
+ {
+@@ -342,7 +392,7 @@ strings_a_section (bfd *abfd, asection *
+ }
+
+ *got_a_section = true;
+- print_strings (filename, NULL, sect->filepos, 0, sectsize, (char *) mem);
++ print_strings (filename, NULL, sect->filepos, sectsize, (char *) mem);
+ free (mem);
+ }
+
+@@ -427,7 +477,7 @@ strings_file (char *file)
+ return false;
+ }
+
+- print_strings (file, stream, (file_ptr) 0, 0, 0, (char *) 0);
++ print_strings (file, stream, (file_ptr) 0, 0, (char *) NULL);
+
+ if (fclose (stream) == EOF)
+ {
+@@ -551,6 +601,626 @@ unget_part_char (long c, file_ptr *addre
+ }
+ }
+ }
++
++static void
++print_filename_and_address (const char * filename, file_ptr address)
++{
++ if (print_filenames)
++ printf ("%s: ", filename);
++
++ if (! print_addresses)
++ return;
++
++ switch (address_radix)
++ {
++ case 8:
++ if (sizeof (address) > sizeof (long))
++ {
++#ifndef __MSVCRT__
++ printf ("%7llo ", (unsigned long long) address);
++#else
++ printf ("%7I64o ", (unsigned long long) address);
++#endif
++ }
++ else
++ printf ("%7lo ", (unsigned long) address);
++ break;
++
++ case 10:
++ if (sizeof (address) > sizeof (long))
++ {
++#ifndef __MSVCRT__
++ printf ("%7llu ", (unsigned long long) address);
++#else
++ printf ("%7I64d ", (unsigned long long) address);
++#endif
++ }
++ else
++ printf ("%7ld ", (long) address);
++ break;
++
++ case 16:
++ if (sizeof (address) > sizeof (long))
++ {
++#ifndef __MSVCRT__
++ printf ("%7llx ", (unsigned long long) address);
++#else
++ printf ("%7I64x ", (unsigned long long) address);
++#endif
++ }
++ else
++ printf ("%7lx ", (unsigned long) address);
++ break;
++ }
++}
++
++/* Return non-zero if the bytes starting at BUFFER form a valid UTF-8 encoding.
++ If the encoding is valid then returns the number of bytes it uses. */
++
++static unsigned int
++is_valid_utf8 (const unsigned char * buffer, unsigned long buflen)
++{
++ if (buffer[0] < 0xc0)
++ return 0;
++
++ if (buflen < 2)
++ return 0;
++
++ if ((buffer[1] & 0xc0) != 0x80)
++ return 0;
++
++ if ((buffer[0] & 0x20) == 0)
++ return 2;
++
++ if (buflen < 3)
++ return 0;
++
++ if ((buffer[2] & 0xc0) != 0x80)
++ return 0;
++
++ if ((buffer[0] & 0x10) == 0)
++ return 3;
++
++ if (buflen < 4)
++ return 0;
++
++ if ((buffer[3] & 0xc0) != 0x80)
++ return 0;
++
++ return 4;
++}
++
++/* Display a UTF-8 encoded character in BUFFER according to the setting
++ of unicode_display. The character is known to be valid.
++ Returns the number of bytes consumed. */
++
++static unsigned int
++display_utf8_char (const unsigned char * buffer)
++{
++ unsigned int j;
++ unsigned int utf8_len;
++
++ switch (buffer[0] & 0x30)
++ {
++ case 0x00:
++ case 0x10:
++ utf8_len = 2;
++ break;
++ case 0x20:
++ utf8_len = 3;
++ break;
++ default:
++ utf8_len = 4;
++ }
++
++ switch (unicode_display)
++ {
++ default:
++ fprintf (stderr, "ICE: unexpected unicode display type\n");
++ break;
++
++ case unicode_escape:
++ case unicode_highlight:
++ if (unicode_display == unicode_highlight && isatty (1))
++ printf ("\x1B[31;47m"); /* Red. */
++
++ switch (utf8_len)
++ {
++ case 2:
++ printf ("\\u%02x%02x",
++ ((buffer[0] & 0x1c) >> 2),
++ ((buffer[0] & 0x03) << 6) | (buffer[1] & 0x3f));
++ break;
++
++ case 3:
++ printf ("\\u%02x%02x",
++ ((buffer[0] & 0x0f) << 4) | ((buffer[1] & 0x3c) >> 2),
++ ((buffer[1] & 0x03) << 6) | ((buffer[2] & 0x3f)));
++ break;
++
++ case 4:
++ printf ("\\u%02x%02x%02x",
++ ((buffer[0] & 0x07) << 6) | ((buffer[1] & 0x3c) >> 2),
++ ((buffer[1] & 0x03) << 6) | ((buffer[2] & 0x3c) >> 2),
++ ((buffer[2] & 0x03) << 6) | ((buffer[3] & 0x3f)));
++ break;
++ default:
++ /* URG. */
++ break;
++ }
++
++ if (unicode_display == unicode_highlight && isatty (1))
++ printf ("\033[0m"); /* Default colour. */
++ break;
++
++ case unicode_hex:
++ putchar ('<');
++ printf ("0x");
++ for (j = 0; j < utf8_len; j++)
++ printf ("%02x", buffer [j]);
++ putchar ('>');
++ break;
++
++ case unicode_locale:
++ printf ("%.1s", buffer);
++ break;
++ }
++
++ return utf8_len;
++}
++
++/* Display strings in BUFFER. Treat any UTF-8 encoded characters encountered
++ according to the setting of the unicode_display variable. The buffer
++ contains BUFLEN bytes.
++
++ Display the characters as if they started at ADDRESS and are contained in
++ FILENAME. */
++
++static void
++print_unicode_buffer (const char * filename,
++ file_ptr address,
++ const unsigned char * buffer,
++ unsigned long buflen)
++{
++ /* Paranoia checks... */
++ if (filename == NULL
++ || buffer == NULL
++ || unicode_display == unicode_default
++ || encoding != 'S'
++ || encoding_bytes != 1)
++ {
++ fprintf (stderr, "ICE: bad arguments to print_unicode_buffer\n");
++ return;
++ }
++
++ if (buflen == 0)
++ return;
++
++ /* We must only display strings that are at least string_min *characters*
++ long. So we scan the buffer in two stages. First we locate the start
++ of a potential string. Then we walk along it until we have found
++ string_min characters. Then we go back to the start point and start
++ displaying characters according to the unicode_display setting. */
++
++ unsigned long start_point = 0;
++ unsigned long i = 0;
++ unsigned int char_len = 1;
++ unsigned int num_found = 0;
++
++ for (i = 0; i < buflen; i += char_len)
++ {
++ int c = buffer[i];
++
++ char_len = 1;
++
++ /* Find the first potential character of a string. */
++ if (! STRING_ISGRAPHIC (c))
++ {
++ num_found = 0;
++ continue;
++ }
++
++ if (c > 126)
++ {
++ if (c < 0xc0)
++ {
++ num_found = 0;
++ continue;
++ }
++
++ if ((char_len = is_valid_utf8 (buffer + i, buflen - i)) == 0)
++ {
++ char_len = 1;
++ num_found = 0;
++ continue;
++ }
++
++ if (unicode_display == unicode_invalid)
++ {
++ /* We have found a valid UTF-8 character, but we treat it as non-graphic. */
++ num_found = 0;
++ continue;
++ }
++ }
++
++ if (num_found == 0)
++ /* We have found a potential starting point for a string. */
++ start_point = i;
++
++ ++ num_found;
++
++ if (num_found >= string_min)
++ break;
++ }
++
++ if (num_found < string_min)
++ return;
++
++ print_filename_and_address (filename, address + start_point);
++
++ /* We have found string_min characters. Display them and any
++ more that follow. */
++ for (i = start_point; i < buflen; i += char_len)
++ {
++ int c = buffer[i];
++
++ char_len = 1;
++
++ if (! STRING_ISGRAPHIC (c))
++ break;
++ else if (c < 127)
++ putchar (c);
++ else if (! is_valid_utf8 (buffer + i, buflen - i))
++ break;
++ else if (unicode_display == unicode_invalid)
++ break;
++ else
++ char_len = display_utf8_char (buffer + i);
++ }
++
++ if (output_separator)
++ fputs (output_separator, stdout);
++ else
++ putchar ('\n');
++
++ /* FIXME: Using tail recursion here is lazy programming... */
++ print_unicode_buffer (filename, address + i, buffer + i, buflen - i);
++}
++
++static int
++get_unicode_byte (FILE * stream,
++ unsigned char * putback,
++ unsigned int * num_putback,
++ unsigned int * num_read)
++{
++ if (* num_putback > 0)
++ {
++ * num_putback = * num_putback - 1;
++ return putback [* num_putback];
++ }
++
++ * num_read = * num_read + 1;
++
++#if defined(HAVE_GETC_UNLOCKED) && HAVE_DECL_GETC_UNLOCKED
++ return getc_unlocked (stream);
++#else
++ return getc (stream);
++#endif
++}
++
++/* Helper function for print_unicode_stream. */
++
++static void
++print_unicode_stream_body (const char * filename,
++ file_ptr address,
++ FILE * stream,
++ unsigned char * putback_buf,
++ unsigned int num_putback,
++ unsigned char * print_buf)
++{
++ /* It would be nice if we could just read the stream into a buffer
++ and then process if with print_unicode_buffer. But the input
++ might be huge or it might time-locked (eg stdin). So instead
++ we go one byte at a time... */
++
++ file_ptr start_point = 0;
++ unsigned int num_read = 0;
++ unsigned int num_chars = 0;
++ unsigned int num_print = 0;
++ int c = 0;
++
++ /* Find a series of string_min characters. Put them into print_buf. */
++ do
++ {
++ if (num_chars >= string_min)
++ break;
++
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++
++ if (! STRING_ISGRAPHIC (c))
++ {
++ num_chars = num_print = 0;
++ continue;
++ }
++
++ if (num_chars == 0)
++ start_point = num_read - 1;
++
++ if (c < 127)
++ {
++ print_buf[num_print] = c;
++ num_chars ++;
++ num_print ++;
++ continue;
++ }
++
++ if (c < 0xc0)
++ {
++ num_chars = num_print = 0;
++ continue;
++ }
++
++ /* We *might* have a UTF-8 sequence. Time to start peeking. */
++ char utf8[4];
++
++ utf8[0] = c;
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[1] = c;
++
++ if ((utf8[1] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[1];
++ num_chars = num_print = 0;
++ continue;
++ }
++ else if ((utf8[0] & 0x20) == 0)
++ {
++ /* A valid 2-byte UTF-8 encoding. */
++ if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[1];
++ num_chars = num_print = 0;
++ }
++ else
++ {
++ print_buf[num_print ++] = utf8[0];
++ print_buf[num_print ++] = utf8[1];
++ num_chars ++;
++ }
++ continue;
++ }
++
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[2] = c;
++
++ if ((utf8[2] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ num_chars = num_print = 0;
++ continue;
++ }
++ else if ((utf8[0] & 0x10) == 0)
++ {
++ /* A valid 3-byte UTF-8 encoding. */
++ if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ num_chars = num_print = 0;
++ }
++ else
++ {
++ print_buf[num_print ++] = utf8[0];
++ print_buf[num_print ++] = utf8[1];
++ print_buf[num_print ++] = utf8[2];
++ num_chars ++;
++ }
++ continue;
++ }
++
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[3] = c;
++
++ if ((utf8[3] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[3];
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ num_chars = num_print = 0;
++ }
++ /* We have a valid 4-byte UTF-8 encoding. */
++ else if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[3];
++ putback_buf[num_putback++] = utf8[1];
++ putback_buf[num_putback++] = utf8[2];
++ num_chars = num_print = 0;
++ }
++ else
++ {
++ print_buf[num_print ++] = utf8[0];
++ print_buf[num_print ++] = utf8[1];
++ print_buf[num_print ++] = utf8[2];
++ print_buf[num_print ++] = utf8[3];
++ num_chars ++;
++ }
++ }
++ while (1);
++
++ if (num_chars >= string_min)
++ {
++ /* We know that we have string_min valid characters in print_buf,
++ and there may be more to come in the stream. Start displaying
++ them. */
++
++ print_filename_and_address (filename, address + start_point);
++
++ unsigned int i;
++ for (i = 0; i < num_print;)
++ {
++ if (print_buf[i] < 127)
++ putchar (print_buf[i++]);
++ else
++ i += display_utf8_char (print_buf + i);
++ }
++
++ /* OK so now we have to start read unchecked bytes. */
++
++ /* Find a series of string_min characters. Put them into print_buf. */
++ do
++ {
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++
++ if (! STRING_ISGRAPHIC (c))
++ break;
++
++ if (c < 127)
++ {
++ putchar (c);
++ continue;
++ }
++
++ if (c < 0xc0)
++ break;
++
++ /* We *might* have a UTF-8 sequence. Time to start peeking. */
++ unsigned char utf8[4];
++
++ utf8[0] = c;
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[1] = c;
++
++ if ((utf8[1] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else if ((utf8[0] & 0x20) == 0)
++ {
++ /* Valid 2-byte UTF-8. */
++ if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else
++ {
++ (void) display_utf8_char (utf8);
++ continue;
++ }
++ }
++
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[2] = c;
++
++ if ((utf8[2] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else if ((utf8[0] & 0x10) == 0)
++ {
++ /* Valid 3-byte UTF-8. */
++ if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else
++ {
++ (void) display_utf8_char (utf8);
++ continue;
++ }
++ }
++
++ c = get_unicode_byte (stream, putback_buf, & num_putback, & num_read);
++ if (c == EOF)
++ break;
++ utf8[3] = c;
++
++ if ((utf8[3] & 0xc0) != 0x80)
++ {
++ /* Invalid UTF-8. */
++ putback_buf[num_putback++] = utf8[3];
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else if (unicode_display == unicode_invalid)
++ {
++ putback_buf[num_putback++] = utf8[3];
++ putback_buf[num_putback++] = utf8[2];
++ putback_buf[num_putback++] = utf8[1];
++ break;
++ }
++ else
++ /* A valid 4-byte UTF-8 encoding. */
++ (void) display_utf8_char (utf8);
++ }
++ while (1);
++
++ if (output_separator)
++ fputs (output_separator, stdout);
++ else
++ putchar ('\n');
++ }
++
++ if (c != EOF)
++ /* FIXME: Using tail recursion here is lazy, but it works. */
++ print_unicode_stream_body (filename, address + num_read, stream, putback_buf, num_putback, print_buf);
++}
++
++/* Display strings read in from STREAM. Treat any UTF-8 encoded characters
++ encountered according to the setting of the unicode_display variable.
++ The stream is positioned at ADDRESS and is attached to FILENAME. */
++
++static void
++print_unicode_stream (const char * filename,
++ file_ptr address,
++ FILE * stream)
++{
++ /* Paranoia checks... */
++ if (filename == NULL
++ || stream == NULL
++ || unicode_display == unicode_default
++ || encoding != 'S'
++ || encoding_bytes != 1)
++ {
++ fprintf (stderr, "ICE: bad arguments to print_unicode_stream\n");
++ return;
++ }
++
++ /* Allocate space for string_min 4-byte utf-8 characters. */
++ unsigned char * print_buf = xmalloc ((4 * string_min) + 1);
++ /* We should never have to put back more than 4 bytes. */
++ unsigned char putback_buf[5];
++ unsigned int num_putback = 0;
++
++ print_unicode_stream_body (filename, address, stream, putback_buf, num_putback, print_buf);
++ free (print_buf);
++}
+
+ /* Find the strings in file FILENAME, read from STREAM.
+ Assume that STREAM is positioned so that the next byte read
+@@ -566,20 +1236,29 @@ unget_part_char (long c, file_ptr *addre
+
+ static void
+ print_strings (const char *filename, FILE *stream, file_ptr address,
+- int stop_point, int magiccount, char *magic)
++ int magiccount, char *magic)
+ {
++ if (unicode_display != unicode_default)
++ {
++ if (magic != NULL)
++ print_unicode_buffer (filename, address,
++ (const unsigned char *) magic, magiccount);
++
++ if (stream != NULL)
++ print_unicode_stream (filename, address, stream);
++ return;
++ }
++
+ char *buf = (char *) xmalloc (sizeof (char) * (string_min + 1));
+
+ while (1)
+ {
+ file_ptr start;
+- int i;
++ unsigned int i;
+ long c;
+
+ /* See if the next `string_min' chars are all graphic chars. */
+ tryline:
+- if (stop_point && address >= stop_point)
+- break;
+ start = address;
+ for (i = 0; i < string_min; i++)
+ {
+@@ -601,51 +1280,7 @@ print_strings (const char *filename, FIL
+
+ /* We found a run of `string_min' graphic characters. Print up
+ to the next non-graphic character. */
+-
+- if (print_filenames)
+- printf ("%s: ", filename);
+- if (print_addresses)
+- switch (address_radix)
+- {
+- case 8:
+- if (sizeof (start) > sizeof (long))
+- {
+-#ifndef __MSVCRT__
+- printf ("%7llo ", (unsigned long long) start);
+-#else
+- printf ("%7I64o ", (unsigned long long) start);
+-#endif
+- }
+- else
+- printf ("%7lo ", (unsigned long) start);
+- break;
+-
+- case 10:
+- if (sizeof (start) > sizeof (long))
+- {
+-#ifndef __MSVCRT__
+- printf ("%7llu ", (unsigned long long) start);
+-#else
+- printf ("%7I64d ", (unsigned long long) start);
+-#endif
+- }
+- else
+- printf ("%7ld ", (long) start);
+- break;
+-
+- case 16:
+- if (sizeof (start) > sizeof (long))
+- {
+-#ifndef __MSVCRT__
+- printf ("%7llx ", (unsigned long long) start);
+-#else
+- printf ("%7I64x ", (unsigned long long) start);
+-#endif
+- }
+- else
+- printf ("%7lx ", (unsigned long) start);
+- break;
+- }
++ print_filename_and_address (filename, start);
+
+ buf[i] = '\0';
+ fputs (buf, stdout);
+@@ -697,6 +1332,8 @@ usage (FILE *stream, int status)
+ -T --target=<BFDNAME> Specify the binary file format\n\
+ -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n\
+ s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n\
++ --unicode={default|show|invalid|hex|escape|highlight}\n\
++ -u {d|s|i|x|e|h} Specify how to treat UTF-8 encoded unicode characters\n\
+ -s --output-separator=<string> String used to separate strings in output.\n\
+ @<file> Read options from <file>\n\
+ -h --help Display this information\n\
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-elf-Discard-input-.note.gnu.build-id-sections.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-elf-Discard-input-.note.gnu.build-id-sections.patch
new file mode 100644
index 0000000000..c93af4e46f
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-elf-Discard-input-.note.gnu.build-id-sections.patch
@@ -0,0 +1,215 @@
+From b2e18d3ea300f7491705b6e86a7cc3d6366e3b1f Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Tue, 30 Nov 2021 20:40:38 -0800
+Subject: [PATCH] elf: Discard input .note.gnu.build-id sections
+
+1. Discard input .note.gnu.build-id sections.
+2. Clear the build ID field before writing.
+3. Use bfd_make_section_anyway_with_flags to create the output
+.note.gnu.build-id section.
+
+ PR ld/28639
+ * ldelf.c (ldelf_after_open): Discard input .note.gnu.build-id
+ sections, excluding the first one.
+ (write_build_id): Clear the build ID field before writing.
+ (ldelf_setup_build_id): Use bfd_make_section_anyway_with_flags
+ to create the output .note.gnu.build-id section.
+ * testsuite/ld-elf/build-id.exp: New file.
+ * testsuite/ld-elf/pr28639a.rd: Likewise.
+ * testsuite/ld-elf/pr28639b.rd: Likewise.
+ * testsuite/ld-elf/pr28639c.rd: Likewise.
+ * testsuite/ld-elf/pr28639d.rd: Likewise.
+
+Upstream-Status: Backport
+
+Reference to upstream patch:
+[https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1f1d0f8888a6c944e612b416a2a6e11abcf5199f]
+---
+ ld/ldelf.c | 15 ++++++-
+ ld/testsuite/ld-elf/build-id.exp | 77 ++++++++++++++++++++++++++++++++
+ ld/testsuite/ld-elf/pr28639a.rd | 6 +++
+ ld/testsuite/ld-elf/pr28639b.rd | 6 +++
+ ld/testsuite/ld-elf/pr28639c.rd | 10 +++++
+ ld/testsuite/ld-elf/pr28639d.rd | 4 ++
+ 6 files changed, 117 insertions(+), 1 deletion(-)
+ create mode 100644 ld/testsuite/ld-elf/build-id.exp
+ create mode 100644 ld/testsuite/ld-elf/pr28639a.rd
+ create mode 100644 ld/testsuite/ld-elf/pr28639b.rd
+ create mode 100644 ld/testsuite/ld-elf/pr28639c.rd
+ create mode 100644 ld/testsuite/ld-elf/pr28639d.rd
+
+diff --git a/ld/ldelf.c b/ld/ldelf.c
+index 21e655bb55c..8501d98b48f 100644
+--- a/ld/ldelf.c
++++ b/ld/ldelf.c
+@@ -1043,6 +1043,15 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
+ /* Do not allow executable files to be used as inputs to the link. */
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
+ {
++ /* Discard input .note.gnu.build-id sections. */
++ s = bfd_get_section_by_name (abfd, ".note.gnu.build-id");
++ while (s != NULL)
++ {
++ if (s != elf_tdata (link_info.output_bfd)->o->build_id.sec)
++ s->flags |= SEC_EXCLUDE;
++ s = bfd_get_next_section_by_name (NULL, s);
++ }
++
+ if (abfd->xvec->flavour == bfd_target_elf_flavour
+ && !bfd_input_just_syms (abfd)
+ && elf_tdata (abfd) != NULL
+@@ -1387,6 +1396,9 @@ write_build_id (bfd *abfd)
+ id_bits = contents + size;
+ size = asec->size - size;
+
++ /* Clear the build ID field. */
++ memset (id_bits, 0, size);
++
+ bfd_h_put_32 (abfd, sizeof "GNU", &e_note->namesz);
+ bfd_h_put_32 (abfd, size, &e_note->descsz);
+ bfd_h_put_32 (abfd, NT_GNU_BUILD_ID, &e_note->type);
+@@ -1418,7 +1430,8 @@ ldelf_setup_build_id (bfd *ibfd)
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA);
+- s = bfd_make_section_with_flags (ibfd, ".note.gnu.build-id", flags);
++ s = bfd_make_section_anyway_with_flags (ibfd, ".note.gnu.build-id",
++ flags);
+ if (s != NULL && bfd_set_section_alignment (s, 2))
+ {
+ struct elf_obj_tdata *t = elf_tdata (link_info.output_bfd);
+diff --git a/ld/testsuite/ld-elf/build-id.exp b/ld/testsuite/ld-elf/build-id.exp
+new file mode 100644
+index 00000000000..19c22a75c4d
+--- /dev/null
++++ b/ld/testsuite/ld-elf/build-id.exp
+@@ -0,0 +1,77 @@
++# Expect script for --build-id tests.
++# Copyright (C) 2021 Free Software Foundation, Inc.
++#
++# This file is part of the GNU Binutils.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
++# MA 02110-1301, USA.
++#
++
++# Exclude non-ELF targets.
++
++if ![is_elf_format] {
++ return
++}
++
++if { [istarget frv-*-*] || [istarget lm32-*-*] } {
++ return
++}
++
++if { !([istarget *-*-linux*]
++ || [istarget arm*-*-uclinuxfdpiceabi]
++ || [istarget *-*-nacl*]
++ || [istarget *-*-gnu*]) } then {
++ return
++}
++
++run_ld_link_tests [list \
++ [list \
++ "pr28639a.o" \
++ "-r --build-id=md5" \
++ "" \
++ "" \
++ {start.s} \
++ {{readelf {--notes} pr28639a.rd}} \
++ "pr28639a.o" \
++ ] \
++ [list \
++ "pr28639a.o" \
++ "-r --build-id" \
++ "" \
++ "" \
++ {dummy.s} \
++ {{readelf {--notes} pr28639b.rd}} \
++ "pr28639b.o" \
++ ] \
++ [list \
++ "pr28639a" \
++ "--build-id tmpdir/pr28639a.o tmpdir/pr28639b.o" \
++ "" \
++ "" \
++ {dummy.s} \
++ {{readelf {--notes} pr28639b.rd} \
++ {readelf {--notes} pr28639c.rd}} \
++ "pr28639a" \
++ ] \
++ [list \
++ "pr28639b" \
++ "--build-id=none tmpdir/pr28639a.o tmpdir/pr28639b.o" \
++ "" \
++ "" \
++ {dummy.s} \
++ {{readelf {--notes} pr28639d.rd}} \
++ "pr28639b" \
++ ] \
++]
+diff --git a/ld/testsuite/ld-elf/pr28639a.rd b/ld/testsuite/ld-elf/pr28639a.rd
+new file mode 100644
+index 00000000000..e85087064d0
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr28639a.rd
+@@ -0,0 +1,6 @@
++#...
++Displaying notes found in: \.note\.gnu\.build-id
++ Owner Data size Description
++ GNU 0x00000010 NT_GNU_BUILD_ID \(unique build ID bitstring\)
++ Build ID: [0-9a-f]+
++#pass
+diff --git a/ld/testsuite/ld-elf/pr28639b.rd b/ld/testsuite/ld-elf/pr28639b.rd
+new file mode 100644
+index 00000000000..04dcb04bec2
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr28639b.rd
+@@ -0,0 +1,6 @@
++#...
++Displaying notes found in: \.note\.gnu\.build-id
++ Owner Data size Description
++ GNU 0x00000014 NT_GNU_BUILD_ID \(unique build ID bitstring\)
++ Build ID: [0-9a-f]+
++#pass
+diff --git a/ld/testsuite/ld-elf/pr28639c.rd b/ld/testsuite/ld-elf/pr28639c.rd
+new file mode 100644
+index 00000000000..64221e5fa51
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr28639c.rd
+@@ -0,0 +1,10 @@
++#failif
++#...
++Displaying notes found in: \.note\.gnu\.build-id
++ Owner Data size Description
++ GNU 0x[0-9a-f]+ NT_GNU_BUILD_ID \(unique build ID bitstring\)
++ Build ID: [0-9a-f]+
++ Owner Data size Description
++ GNU 0x[0-9a-f]+ NT_GNU_BUILD_ID \(unique build ID bitstring\)
++ Build ID: [0-9a-f]+
++#...
+diff --git a/ld/testsuite/ld-elf/pr28639d.rd b/ld/testsuite/ld-elf/pr28639d.rd
+new file mode 100644
+index 00000000000..897c8493efa
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr28639d.rd
+@@ -0,0 +1,4 @@
++#failif
++#...
++Displaying notes found in: \.note\.gnu\.build-id
++#...
+--
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch b/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch
deleted file mode 100644
index f476ff210f..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b8d43b6b8d98e176346871c92935458b06598c5b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:07:33 +0000
-Subject: [PATCH] configure: widen the regexp for SH architectures
-
-gprof needs to know about uclibc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 3dd206525a7..e8ba1a1d3de 100755
---- a/configure
-+++ b/configure
-@@ -3892,7 +3892,7 @@ case "${target}" in
- nvptx*-*-*)
- noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
- ;;
-- sh-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${target}" in
- sh*-*-elf)
- ;;
-diff --git a/configure.ac b/configure.ac
-index 797a624621e..3a8a3ae1f3b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1175,7 +1175,7 @@ case "${target}" in
- nvptx*-*-*)
- noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
- ;;
-- sh-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${target}" in
- sh*-*-elf)
- ;;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0009-Change-default-emulation-for-mips64-linux.patch
deleted file mode 100644
index fab92d52e6..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0009-Change-default-emulation-for-mips64-linux.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From fb6d52dda9c230baf869ed5f981581a7b5094b70 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:44:14 +0000
-Subject: [PATCH] Change default emulation for mips64*-*-linux
-
-we change the default emulations to be N64 instead of N32
-
-Upstream-Status: Inappropriate [ OE configuration Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- bfd/config.bfd | 8 ++++----
- ld/configure.tgt | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 30087e3b8f8..1896e11790c 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -891,12 +891,12 @@ case "${targ}" in
- targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
- ;;
- mips64*el-*-linux*)
-- targ_defvec=mips_elf32_ntrad_le_vec
-- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
-+ targ_defvec=mips_elf64_trad_le_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec"
- ;;
- mips64*-*-linux*)
-- targ_defvec=mips_elf32_ntrad_be_vec
-- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
- ;;
- mips*el-*-linux*)
- targ_defvec=mips_elf32_trad_le_vec
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 6205d7c9872..c08533658e5 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -530,12 +530,12 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
- ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss
- ;;
--mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
-- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
-+mips64*el-*-linux-*) targ_emul=elf64ltsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
- targ_extra_libpath=$targ_extra_emuls
- ;;
--mips64*-*-linux-*) targ_emul=elf32btsmipn32
-- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
-+mips64*-*-linux-*) targ_emul=elf64btsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
- targ_extra_libpath=$targ_extra_emuls
- ;;
- mips*el-*-linux-*) targ_emul=elf32ltsmip
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Add-support-for-Netlogic-XLP.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Add-support-for-Netlogic-XLP.patch
deleted file mode 100644
index b2f7448a28..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Add-support-for-Netlogic-XLP.patch
+++ /dev/null
@@ -1,415 +0,0 @@
-From 21920b7a3d10a7dae4c1f18a4bb185de78048e3f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 14 Feb 2016 17:06:19 +0000
-Subject: [PATCH] Add support for Netlogic XLP
-
-Patch From: Nebu Philips <nphilips@netlogicmicro.com>
-
-Using the mipsisa64r2nlm target, add support for XLP from
-Netlogic. Also, update vendor name to NLM wherever applicable.
-
-Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been
-assigned to INSN_OCTEON3
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- bfd/aoutx.h | 1 +
- bfd/archures.c | 1 +
- bfd/bfd-in2.h | 1 +
- bfd/config.bfd | 5 +++++
- bfd/cpu-mips.c | 6 ++++--
- bfd/elfxx-mips.c | 8 ++++++++
- binutils/readelf.c | 1 +
- gas/config/tc-mips.c | 4 +++-
- gas/configure | 3 +++
- gas/configure.ac | 3 +++
- include/elf/mips.h | 1 +
- include/opcode/mips.h | 8 +++++++-
- ld/configure.tgt | 3 +++
- opcodes/mips-dis.c | 12 +++++-------
- opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
- 15 files changed, 66 insertions(+), 22 deletions(-)
-
-diff --git a/bfd/aoutx.h b/bfd/aoutx.h
-index 17560bd8f54..10b1cad74e6 100644
---- a/bfd/aoutx.h
-+++ b/bfd/aoutx.h
-@@ -810,6 +810,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
- case bfd_mach_mipsisa64r6:
- case bfd_mach_mips_sb1:
- case bfd_mach_mips_xlr:
-+ case bfd_mach_mips_xlp:
- /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */
- arch_flags = M_MIPS2;
- break;
-diff --git a/bfd/archures.c b/bfd/archures.c
-index 390691bfba1..b0b7a5fa7a0 100644
---- a/bfd/archures.c
-+++ b/bfd/archures.c
-@@ -185,6 +185,7 @@ DESCRIPTION
- .#define bfd_mach_mips_octeon3 6503
- .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR'. *}
- .#define bfd_mach_mips_interaptiv_mr2 736550 {* decimal 'IA2'. *}
-+.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP'. *}
- .#define bfd_mach_mipsisa32 32
- .#define bfd_mach_mipsisa32r2 33
- .#define bfd_mach_mipsisa32r3 34
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 57b3c453649..a00b0d44359 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -1562,6 +1562,7 @@ enum bfd_architecture
- #define bfd_mach_mips_octeon3 6503
- #define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */
- #define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */
-+#define bfd_mach_mips_xlp 887680 /* decimal 'XLP'. */
- #define bfd_mach_mipsisa32 32
- #define bfd_mach_mipsisa32r2 33
- #define bfd_mach_mipsisa32r3 34
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 1896e11790c..8270fd2708d 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -874,6 +874,11 @@ case "${targ}" in
- targ_defvec=mips_elf32_le_vec
- targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
- ;;
-+ mipsisa64*-*-elf*)
-+ targ_defvec=mips_elf32_trad_be_vec
-+ targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-+ want64=true
-+ ;;
- mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
- targ_defvec=mips_elf32_be_vec
- targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
-diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
-index 76b507e3c77..c1563cf4319 100644
---- a/bfd/cpu-mips.c
-+++ b/bfd/cpu-mips.c
-@@ -108,7 +108,8 @@ enum
- I_mipsocteon3,
- I_xlr,
- I_interaptiv_mr2,
-- I_micromips
-+ I_micromips,
-+ I_xlp
- };
-
- #define NN(index) (&arch_info_struct[(index) + 1])
-@@ -163,7 +164,8 @@ static const bfd_arch_info_type arch_info_struct[] =
- N (64, 64, bfd_mach_mips_xlr, "mips:xlr", false, NN(I_xlr)),
- N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", false,
- NN(I_interaptiv_mr2)),
-- N (64, 64, bfd_mach_mips_micromips, "mips:micromips", false, NULL)
-+ N (64, 64, bfd_mach_mips_micromips, "mips:micromips", false, NN(I_micromips)),
-+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", false, NULL)
- };
-
- /* The default architecture is mips:3000, but with a machine number of
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index e4827fd17de..fa8c2512837 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -6980,6 +6980,9 @@ _bfd_elf_mips_mach (flagword flags)
- case E_MIPS_MACH_IAMR2:
- return bfd_mach_mips_interaptiv_mr2;
-
-+ case E_MIPS_MACH_XLP:
-+ return bfd_mach_mips_xlp;
-+
- default:
- switch (flags & EF_MIPS_ARCH)
- {
-@@ -12339,6 +12342,10 @@ mips_set_isa_flags (bfd *abfd)
- val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
- break;
-
-+ case bfd_mach_mips_xlp:
-+ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_XLP;
-+ break;
-+
- case bfd_mach_mipsisa32:
- val = E_MIPS_ARCH_32;
- break;
-@@ -14428,6 +14435,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
- { bfd_mach_mips_gs264e, bfd_mach_mips_gs464e },
- { bfd_mach_mips_gs464e, bfd_mach_mips_gs464 },
- { bfd_mach_mips_gs464, bfd_mach_mipsisa64r2 },
-+ { bfd_mach_mips_xlp, bfd_mach_mipsisa64r2 },
-
- /* MIPS64 extensions. */
- { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index a6073f7ec80..2f2448b5eba 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -3613,6 +3613,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
- case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
- case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
- case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break;
-+ case E_MIPS_MACH_XLP: strcat (buf, ", xlp"); break;
- case 0:
- /* We simply ignore the field in this case to avoid confusion:
- MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
-diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index 0201f816814..a3cfcdbe982 100644
---- a/gas/config/tc-mips.c
-+++ b/gas/config/tc-mips.c
-@@ -570,6 +570,7 @@ static int mips_32bitmode = 0;
- || mips_opts.arch == CPU_RM7000 \
- || mips_opts.arch == CPU_VR5500 \
- || mips_opts.micromips \
-+ || mips_opts.arch == CPU_XLP \
- )
-
- /* Whether the processor uses hardware interlocks to protect reads
-@@ -599,6 +600,7 @@ static int mips_32bitmode = 0;
- && mips_opts.isa != ISA_MIPS3) \
- || mips_opts.arch == CPU_R4300 \
- || mips_opts.micromips \
-+ || mips_opts.arch == CPU_XLP \
- )
-
- /* Whether the processor uses hardware interlocks to protect reads
-@@ -20157,7 +20159,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
- /* Broadcom XLP.
- XLP is mostly like XLR, with the prominent exception that it is
- MIPS64R2 rather than MIPS64. */
-- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
-+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
-
- /* MIPS 64 Release 6. */
- { "i6400", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
-diff --git a/gas/configure b/gas/configure
-index 110d707f079..789d1b38b33 100755
---- a/gas/configure
-+++ b/gas/configure
-@@ -12083,6 +12083,9 @@ _ACEOF
- mipsisa64r6 | mipsisa64r6el)
- mips_cpu=mips64r6
- ;;
-+ mipsisa64r2nlm | mipsisa64r2nlmel)
-+ mips_cpu=xlp
-+ ;;
- mipstx39 | mipstx39el)
- mips_cpu=r3900
- ;;
-diff --git a/gas/configure.ac b/gas/configure.ac
-index 78efba88e23..c1b4ef6b3b0 100644
---- a/gas/configure.ac
-+++ b/gas/configure.ac
-@@ -331,6 +331,9 @@ changequote([,])dnl
- mipsisa64r6 | mipsisa64r6el)
- mips_cpu=mips64r6
- ;;
-+ mipsisa64r2nlm | mipsisa64r2nlmel)
-+ mips_cpu=xlp
-+ ;;
- mipstx39 | mipstx39el)
- mips_cpu=r3900
- ;;
-diff --git a/include/elf/mips.h b/include/elf/mips.h
-index 4bd86307120..2d7df22abf2 100644
---- a/include/elf/mips.h
-+++ b/include/elf/mips.h
-@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
- #define E_MIPS_MACH_SB1 0x008a0000
- #define E_MIPS_MACH_OCTEON 0x008b0000
- #define E_MIPS_MACH_XLR 0x008c0000
-+#define E_MIPS_MACH_XLP 0x008f0000
- #define E_MIPS_MACH_OCTEON2 0x008d0000
- #define E_MIPS_MACH_OCTEON3 0x008e0000
- #define E_MIPS_MACH_5400 0x00910000
-diff --git a/include/opcode/mips.h b/include/opcode/mips.h
-index 9add3c9d5bf..a99c53f652f 100644
---- a/include/opcode/mips.h
-+++ b/include/opcode/mips.h
-@@ -1157,7 +1157,7 @@ mips_opcode_32bit_p (const struct mips_opcode *mo)
- #define INSN_ISA32R3 8
- #define INSN_ISA32R5 9
- #define INSN_ISA32R6 10
--#define INSN_ISA64 11
-+#define INSN_ISA64 11
- #define INSN_ISA64R2 12
- #define INSN_ISA64R3 13
- #define INSN_ISA64R5 14
-@@ -1265,6 +1265,8 @@ static const unsigned int mips_isa_table[] = {
- #define INSN_XLR 0x00000020
- /* Imagination interAptiv MR2. */
- #define INSN_INTERAPTIV_MR2 0x04000000
-+/* Netlogic XlP instruction */
-+#define INSN_XLP 0x00000080
-
- /* DSP ASE */
- #define ASE_DSP 0x00000001
-@@ -1389,6 +1391,7 @@ static const unsigned int mips_isa_table[] = {
- #define CPU_OCTEON3 6503
- #define CPU_XLR 887682 /* decimal 'XLR' */
- #define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */
-+#define CPU_XLP 887680 /* decimal 'XLP' */
-
- /* Return true if the given CPU is included in INSN_* mask MASK. */
-
-@@ -1459,6 +1462,9 @@ cpu_is_member (int cpu, unsigned int mask)
- case CPU_INTERAPTIV_MR2:
- return (mask & INSN_INTERAPTIV_MR2) != 0;
-
-+ case CPU_XLP:
-+ return (mask & INSN_XLP) != 0;
-+
- default:
- return false;
- }
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index c08533658e5..7abf32215c2 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -509,6 +509,9 @@ mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
- targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
- ;;
-+mipsisa64*-*-elf*) targ_emul=elf32btsmip
-+ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
-+ ;;
- mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
- targ_extra_emuls="elf32lr5900"
- targ_extra_libpath=$targ_extra_emuls
-diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
-index 591caf11e28..00120afed47 100644
---- a/opcodes/mips-dis.c
-+++ b/opcodes/mips-dis.c
-@@ -698,13 +698,11 @@ const struct mips_arch_choice mips_arch_choices[] =
- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
- mips_cp1_names_mips3264, mips_hwr_names_numeric },
-
-- /* XLP is mostly like XLR, with the prominent exception it is being
-- MIPS64R2. */
-- { "xlp", 1, bfd_mach_mips_xlr, CPU_XLR,
-- ISA_MIPS64R2 | INSN_XLR, 0,
-- mips_cp0_names_xlr,
-- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
-- mips_cp1_names_mips3264, mips_hwr_names_numeric },
-+ { "xlp", 1, bfd_mach_mips_xlp, CPU_XLP,
-+ ISA_MIPS64R2 | INSN_XLP, 0,
-+ mips_cp0_names_mips3264r2,
-+ mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
-+ mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
-
- /* This entry, mips16, is here only for ISA/processor selection; do
- not print its name. */
-diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
-index db72c039bfd..ff2fa614de1 100644
---- a/opcodes/mips-opc.c
-+++ b/opcodes/mips-opc.c
-@@ -329,6 +329,7 @@ decode_mips_operand (const char *p)
- #define IOCT3 INSN_OCTEON3
- #define XLR INSN_XLR
- #define IAMR2 INSN_INTERAPTIV_MR2
-+#define XLP INSN_XLP
- #define IVIRT ASE_VIRT
- #define IVIRT64 ASE_VIRT64
-
-@@ -991,6 +992,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
- {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
- {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
-+{"crc", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- /* ctc0 is at the bottom of the table. */
- {"ctc1", "t,g", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
- {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
-@@ -1023,12 +1025,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
- {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
- {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
--{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR, 0, 0 },
-+{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR|XLP, 0, 0 },
- {"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5, 0, 0 },
- {"dclo", "d,s", 0x00000053, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
- {"dclo", "U,s", 0x70000025, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
- {"dclz", "d,s", 0x00000052, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
- {"dclz", "U,s", 0x70000024, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
-+{"dcrc", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- /* dctr and dctw are used on the r5000. */
- {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
- {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
-@@ -1100,6 +1103,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
- {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
- {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
-+{"dmfur", "t,d", 0x7000001e, 0xffe007ff, WR_1, 0, XLP, 0, 0 },
- {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
- {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
- {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
-@@ -1113,6 +1117,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
- /* dmfc2 is at the bottom of the table. */
- /* dmtc2 is at the bottom of the table. */
- {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
-+{"dmtur", "t,d", 0x7000001f, 0xffe007ff, RD_1, 0, XLP, 0, 0 },
-+{"dmul", "d,s,t", 0x70000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
- {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
- {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
-@@ -1266,9 +1272,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
- {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
- {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
--{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
-+{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
- {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
- {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
- {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
-@@ -1437,7 +1443,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
- {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
- {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
--{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1|RD_2, 0, XLR, 0, 0 },
-+{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1, 0, XLR|XLP, 0, 0 },
- {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
- {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
- {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
-@@ -1482,10 +1488,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
- /* move is at the top of the table. */
- {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
- {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
-+{"msgsnds", "d,t", 0x4a000001, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
- {"msgld", "", 0, (int) M_MSGLD, INSN_MACRO, 0, XLR, 0, 0 },
- {"msgld", "t", 0, (int) M_MSGLD_T, INSN_MACRO, 0, XLR, 0, 0 },
--{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR, 0, 0 },
--{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR, 0, 0 },
-+{"msglds", "d,t", 0x4a000002, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
-+{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR|XLP, 0, 0 },
-+{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR|XLP, 0, 0 },
-+{"msgsync", "", 0x4a000004, 0xffffffff,0, 0, XLP, 0, 0 },
- {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
- {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
- {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
-@@ -1535,7 +1544,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
- {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
- {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
--{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 },
-+{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
- {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
- {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
- {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
-@@ -1977,9 +1986,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
- {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
- {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
--{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
-+{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
- {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, I2 },
- {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, I2 },
- {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/poky/meta/recipes-devtools/binutils/binutils/0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
index 389232c1e3..a271f55ea1 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0011-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
@@ -3,6 +3,10 @@ From: Zhenhua Luo <zhenhua.luo@nxp.com>
Date: Sat, 11 Jun 2016 22:08:29 -0500
Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
+The wait mnemonic for ppc targets is incorrectly assembled into 0x7c00003c due
+to duplicated address definition with waitasec instruction. The issue causes
+kernel boot calltrace for ppc targets when wait instruction is executed.
+
Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
Upstream-Status: Pending
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-Detect-64-bit-MIPS-targets.patch b/poky/meta/recipes-devtools/binutils/binutils/0012-Detect-64-bit-MIPS-targets.patch
deleted file mode 100644
index 04f81c6671..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0012-Detect-64-bit-MIPS-targets.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 02374940dd34fddd2b04624af3f23e01f9cb81cd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 11:42:03 -0700
-Subject: [PATCH] Detect 64-bit MIPS targets
-
-Add mips64 target triplets and default to N64
-
-Upstream-Status: Submitted
-https://sourceware.org/ml/binutils/2016-08/msg00048.html
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gold/configure.tgt | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/gold/configure.tgt b/gold/configure.tgt
-index cac0866e628..24fbf641456 100644
---- a/gold/configure.tgt
-+++ b/gold/configure.tgt
-@@ -153,6 +153,13 @@ aarch64*-*)
- targ_big_endian=false
- targ_extra_big_endian=true
- ;;
-+mips*64*el*-*-*|mips*64*le*-*-*)
-+ targ_obj=mips
-+ targ_machine=EM_MIPS_RS3_LE
-+ targ_size=64
-+ targ_big_endian=false
-+ targ_extra_big_endian=true
-+ ;;
- mips*el*-*-*|mips*le*-*-*)
- targ_obj=mips
- targ_machine=EM_MIPS_RS3_LE
-@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
- targ_big_endian=false
- targ_extra_big_endian=true
- ;;
-+mips*64*-*-*)
-+ targ_obj=mips
-+ targ_machine=EM_MIPS
-+ targ_size=64
-+ targ_big_endian=true
-+ targ_extra_big_endian=false
-+ ;;
- mips*-*-*)
- targ_obj=mips
- targ_machine=EM_MIPS
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-Use-libtool-2.4.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-Use-libtool-2.4.patch
index a75e72105f..8f87cfdb77 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0013-Use-libtool-2.4.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0013-Use-libtool-2.4.patch
@@ -796,25 +796,6 @@ index daa51244369..79d0c4b4623 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7706,7 +8201,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7795,7 +8291,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -8093,8 +8589,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -2757,25 +2738,6 @@ index bf6461dab1e..8e6f6d30b4d 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7593,7 +8088,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7682,7 +8178,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -7980,8 +8476,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -4696,25 +4658,6 @@ index 789d1b38b33..7ac563a13ad 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7318,7 +7813,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7407,7 +7903,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -7705,8 +8201,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -6638,25 +6581,6 @@ index 5703bba4462..e1ac86ec797 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7220,7 +7715,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7309,7 +7805,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -7607,8 +8103,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -8597,25 +8521,6 @@ index 2aeb3317b65..5ef46d31558 100755
# Set options
-@@ -8077,7 +8582,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -8166,7 +8672,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -8464,8 +8970,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -11220,25 +11125,6 @@ index 82bcf13a606..a7fb723a145 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8248,7 +8742,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -8337,7 +8832,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -8635,8 +9130,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -12422,16 +12308,6 @@ index 9a13f3b117a..5be47564443 100644
# LT_PREREQ(VERSION)
-@@ -92,7 +94,8 @@ _LT_SET_OPTIONS([$0], [$1])
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
- AC_SUBST(LIBTOOL)dnl
-
- _LT_SETUP
@@ -166,10 +169,13 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
@@ -12446,15 +12322,6 @@ index 9a13f3b117a..5be47564443 100644
_LT_CONFIG_LIBTOOL_INIT([
# See if we are running on zsh, and set the options which allow our
-@@ -199,7 +205,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -632,7 +638,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
@@ -20267,25 +20134,6 @@ index 3513e408ce1..133948631e9 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7470,7 +7965,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7559,7 +8055,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -7857,8 +8353,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -22209,25 +22057,6 @@ index 695819cd54b..14b5f28013a 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7300,7 +7795,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7389,7 +7885,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
@@ -7687,8 +8183,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch
index 9becee39a2..924980b4e8 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch
@@ -33,7 +33,7 @@ ld/
(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742)
(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2)
-Upstream-Status: Accepted[https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1c611b40e6bfc8029bff7696814330b5bc0ee5c0]
+Upstream-Status: Accepted [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1c611b40e6bfc8029bff7696814330b5bc0ee5c0]
---
bfd/plugin.c | 8 +++++++
ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.37.bb b/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
index 7430bf1342..12a6fb5577 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
@@ -27,10 +27,6 @@ EXTRA_OECONF:class-native = "--enable-targets=all \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}"
PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils"
-# gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target
-# So remove -O2 and use -Os as workaround
-SELECTED_OPTIMIZATION:remove:mipsarch = "-O2"
-SELECTED_OPTIMIZATION:append:mipsarch = " -Os"
do_install:class-native () {
autotools_do_install