summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-09-24 05:34:48 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-09-24 05:35:28 +0300
commita34c030e5ec7021e7fb452410d38abfb3993ec68 (patch)
treeb8f41acc23015f7f1de01de3c87c434195c681d4 /poky/meta/recipes-devtools
parentdec060e0fadb20cc708370ae192db4462283ee58 (diff)
downloadopenbmc-a34c030e5ec7021e7fb452410d38abfb3993ec68.tar.xz
poky: subtree update:745e38ff0f..81f9e815d3
Adrian Bunk (6): openssl: Upgrade 1.1.1c -> 1.1.1d glib-2.0: Upgrade 2.60.6 -> 2.60.7 lttng-modules: Upgrade 2.10.10 -> 2.10.11 lttng-ust: Upgrade 2.10.4 -> 2.10.5 squashfs-tools: Remove UPSTREAM_CHECK_COMMITS libmpc: Remove dead UPSTREAM_CHECK_URI Alexander Kanavin (2): runqemu: decouple gtk and gl options strace: add a timeout for running ptests Alistair Francis (1): gdb: Mark gdbserver as ALLOW_EMPTY for riscv32 Andre McCurdy (9): busybox: drop unused mount.busybox and umount.busybox wrappers busybox: drop inittab from SRC_URI ( now moved to busybox-inittab ) busybox-inittab: minor formatting tweaks base-files: drop legacy empty file /etc/default/usbd busybox: rcS and rcK should not be writeable by everyone ffmpeg: add PACKAGECONFIG controls for alsa and zlib (enable by default) libwebp: apply ARM specific config options to big endian ARM initscripts: enable alignment.sh init script for big endian ARM libunwind: apply configure over-ride to both big and little endian ARM Andrew F. Davis (4): libepoxy: Disable x11 when not building for x11 cogl: Set depends to the virtual needed not explicitly on Mesa gtk+3: Set depends to the virtual needed not explicitly on Mesa weston: Set depends to the virtual needed not explicitly on Mesa Armin Kuster (1): gcc: Security fix for CVE-2019-15847 Changhyeok Bae (1): iw: upgrade to 5.3 Changqing Li (2): classextend.py: don't extend file for file dependency report-error.bbclass: add local.conf/auto.conf into error report Chen Qi (1): python-numpy: fix build for libn32 Daniel Gomez (1): lttng-modules: Add missing SRCREV_FORMAT Diego Rondini (1): initramfs-framework: support PARTLABEL option Dmitry Eremin-Solenikov (7): image-uefi.conf: add config file holding configuration for UEFI images grub-bootconf: switch to image-uefi.conf grub-efi: switch to image-uefi.conf grub-efi.bbclass: switch to image-uefi.conf systemd-boot: switch to image-uefi.conf systemd-boot.bbclass: switch to image-uefi.conf live-vm-common.bbclass: provide efi population functions for live images Hector Palacios (1): udev-extraconf: skip mounting partitions already mounted by systemd Henning Schild (6): oe-git-proxy: allow setting SOCAT from outside oeqa: add case for oe-git-proxy Revert "oe-git-proxy: Avoid resolving NO_PROXY against local files" oe-git-proxy: disable shell pathname expansion for the whole script oe-git-proxy: NO_PROXY suffix matching without wildcard for match_host oe-git-proxy: fix dash "Bad substitution" Hongxu Jia (1): elfutils: 0.176 -> 0.177 Jack Mitchell (1): iptables: add systemd helper unit to load/restore rules Jaewon Lee (1): populate_sdk_ext: Introduce mechanism to keep nativesdk* sstate in esdk Jason Wessel (1): gnupg: Extend -native wrapper to fix gpgme-native's gpgconf problems Jiang Lu (2): glib-networking:enable glib-networking build as native package libsoup:enable libsoup build as native package Joshua Watt (4): sstatesig: Update server URI Remove SSTATE_HASHEQUIV_SERVER bitbake: bitbake: Rework hash equivalence classes/archiver: Fix WORKDIR for shared source Kai Kang (1): systemd: provides ${base_sbindir}/udevadm Khem Raj (10): ptrace: Drop ptrace aid for musl/ppc elfutils: Fix build on ppc/musl cogl: Do not depend PN-dev on empty PN musl: Update to latest master glibc: Move DISTRO_FEATURE specific do_install code for target recipe only populate_sdk_base.bbclass: nativesdk-glibc-locale is required on musl too nativesdk.bbclass: Clear out LIBCEXTENSION and ABIEXTENSION openssl: Enable os option for with-rand-seed as well weston-init: Add possibility to run weston as non-root user layer.conf: Remove weston-conf from SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS Li Zhou (1): qemu: Security Advisory - qemu - CVE-2019-15890 Limeng (1): tune-cortexa57-cortexa53: add tunes for ARM Cortex-A53-Cortex-A57 Martin Jansa (2): perf: fix build on kernels which don't have ${S}/tools/include/linux/bits.h bitbake: Revert "bitbake: cooker: Ensure bbappends are found in stable order" Maxime Roussin-BĂ©langer (1): meta: add missing descriptions and homepage in bsp Mikko Rapeli (2): busybox.inc: handle empty DEBUG_PREFIX_MAP bitbake: svn fetcher: allow "svn propget svn:externals" to fail Nathan Rossi (7): resulttool: Handle multiple series containing ptestresults gcc-cross.inc: Process binaries in build dir to be relocatable oeqa/core/case.py: Add OEPTestResultTestCase for ptestresult helpers oeqa/selftest: Rework toolchain tests to use OEPTestResultTestCase glibc-testsuite: SkipRecipe if libc is not glibc cmake: 3.15.2 -> 3.15.3 meson.bbclass: Handle microblaze* mapping to cpu family Oleksandr Kravchuk (5): python3-pygobject: update to 3.34.0 font-util: update to 1.3.2 expat: update to 2.2.8 curl: update to 7.66.0 python3-dbus: update to 1.2.12 Otavio Salvador (1): mesa: Upgrade 19.1.1 -> 19.1.6 Peter Kjellerstedt (3): glibc: Make it build without ldconfig in DISTRO_FEATURES package_rpm.bbclass: Remove a misleading bb.note() tzdata: Correct the packaging of /etc/localtime and /etc/timezone Quentin Schulz (1): externalsrc: stop rebuilds of 2+ externalsrc recipes sharing the same git repo Randy MacLeod (4): valgrind: enable ~500 more ptests valgrind: make a few more ptests pass valgrind: ptest improvements to run-ptest and more valgrind: disable 256 ptests for aarch64 Richard Purdie (8): bitbake: runqueue/siggen: Optimise hash equiv queries runqemu: Mention snapshot in the help output initramfs-framework: support PARTLABEL option systemd: Handle slow to boot mips hwdb update timeouts meta-extsdk: Either an sstate task is a proper task or it isn't oeqa/concurrenttest: Use ionice to delete build directories bitbake: utils: Add ionice option to prunedir build-appliance-image: Update to master head revision Robert Yang (2): conf/multilib.conf: Add ovmf to NON_MULTILIB_RECIPES bitbake: runqueue: validate_hashes(): currentcount should be a number Ross Burton (16): libtasn1: fix build with api-documentation enabled gstreamer1.0-libav: enable gtk-doc again python3: handle STAGING_LIBDIR/INCDIR being unset mesa: no need to depend on target python3 adwaita-icon-theme: fix rare install race oeqa/selftest/wic: improve assert messages in test_fixed_size oeqa/selftest/imagefeatures: dump the JSON if it can't be parsed libical: upgrade to 3.0.6 acpica: upgrade 20190509 -> 20190816 gdk-pixbuf: upgrade 2.38.1 -> 2.38.2 piglit: upgrade to latest revision libinput: upgrade 1.14.0 -> 1.14.1 rootfs-postcommands: check /etc/gconf exists before working on it systemd-systemctl-native: don't care about line endings opkg-utils: respect SOURCE_DATE_EPOCH when building ipkgs bitbake: fetch2/git: add git-lfs toggle option Scott Murray (1): systemd: upgrade to 243 Stefan Ghinea (1): ghostscript: CVE-2019-14811, CVE-2019-14817 Tim Blechmann (1): icecc: blacklist pixman Yeoh Ee Peng (3): bitbake: bitbake-layers: show-recipes: Show recipes only bitbake: bitbake-layers: show-recipes: Select recipes from selected layer bitbake: bitbake-layers: show-recipes: Enable bare output Yi Zhao (3): screen: add /etc/screenrc as global config file nfs-utils: fix nfs mount error on 32bit nfs server grub: remove diffutils and freetype runtime dependencies Zang Ruochen (2): btrfs-tools:upgrade 5.2.1 -> 5.2.2 timezone:upgrade 2019b -> 2019c Change-Id: I1ec24480a8964e474cd99d60a0cb0975e49b46b8 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools')
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb (renamed from poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb (renamed from poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb)9
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch32
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch12
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch48
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch13
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch60
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff39
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch19
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff57
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch17
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff15
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch13
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff42
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch131
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch22
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff20
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-libs.patch39
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch29
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-utils.patch37
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2.inc3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch521
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch77
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch62
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross.inc10
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb.inc1
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch44
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb1
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h1
-rw-r--r--poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb (renamed from poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb)8
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch28
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc1
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch48
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb1
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch31
-rwxr-xr-xpoky/meta/recipes-devtools/strace/strace/run-ptest1
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.2.bb1
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch40
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64236
-rwxr-xr-xpoky/meta/recipes-devtools/valgrind/valgrind/run-ptest43
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb54
45 files changed, 1610 insertions, 266 deletions
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb
index a364cf53e..6b73c01dc 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb
@@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
-SRCREV = "9a85732d8beaae4b80cab98bb3355660389c1d36"
+SRCREV = "55a8c9626fb906c20c3206f8fd39b9a8fb259b79"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb
index b2952ee5f..b2952ee5f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 4cbe26ed6..3711f18db 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -18,7 +18,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[md5sum] = "9ecf167edadb87e2d75cc89fded7aadb"
-SRC_URI[sha256sum] = "539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768"
+SRC_URI[md5sum] = "bf69e837eeda3dd4e9f52cffcf546a11"
+SRC_URI[sha256sum] = "13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb
index e0457677e..e0457677e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
index d98457e3f..78c379193 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "libtool bzip2 zlib virtual/libintl"
DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack "
# The Debian patches below are from:
-# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.175-1.debian.tar.xz
+# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz
SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://0001-dso-link-change.patch \
file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
@@ -28,7 +28,10 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://debian/ignore_strmerge.diff \
file://debian/disable_werror.patch \
file://debian/testsuite-ignore-elflint.diff \
+ file://debian/mips_cfi.patch \
+ file://debian/0001-fix-compile-failure-with-debian-patches.patch \
file://0001-skip-the-test-when-gcc-not-deployed.patch \
+ file://0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch \
file://run-ptest \
file://ptest.patch \
"
@@ -38,8 +41,8 @@ SRC_URI_append_libc-musl = " \
file://musl-utils.patch \
file://musl-tests.patch \
"
-SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9"
-SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023"
+SRC_URI[md5sum] = "0b583722f911e1632544718d502aab87"
+SRC_URI[sha256sum] = "fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e"
inherit autotools gettext ptest
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch b/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch
new file mode 100644
index 000000000..3303333c4
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch
@@ -0,0 +1,32 @@
+From 2e2232d0935bf8ef6e66ebffba3be68a73b5b3e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 8 Sep 2019 15:57:59 -0700
+Subject: [PATCH] ppc_initreg.c: Incliude asm/ptrace.h for pt_regs definition
+
+Fixes
+| ../../elfutils-0.176/backends/ppc_initreg.c:79:22: error: field 'r' has incomplete type
+| struct pt_regs r;
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ backends/ppc_initreg.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
+index 0e0d359..e5cca7e 100644
+--- a/backends/ppc_initreg.c
++++ b/backends/ppc_initreg.c
+@@ -33,6 +33,7 @@
+ #include <stdlib.h>
+ #if defined(__powerpc__) && defined(__linux__)
+ # include <sys/ptrace.h>
++# include <asm/ptrace.h>
+ # include <sys/user.h>
+ #endif
+
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
index 892b8e873..a2983c577 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
@@ -1,25 +1,25 @@
-From 46d2c2f8fecad85baeed9fe211f5285820220442 Mon Sep 17 00:00:00 2001
+From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:16:58 +0000
-Subject: [PATCH] Ignore differences between mips machine identifiers
+Subject: [PATCH 1/3] Ignore differences between mips machine identifiers
Little endian binaries actually use EM_MIPS so you can't tell the endianness
from the elf machine id. Also, the EM_MIPS_RS3_LE machine is dead anyway (the
kernel will not load binaries containing it).
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
backends/mips_init.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
-diff --git a/backends/mips_init.c b/backends/mips_init.c
-index 975c04e..8482e7f 100644
+Index: b/backends/mips_init.c
+===================================================================
--- a/backends/mips_init.c
+++ b/backends/mips_init.c
-@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
+@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unus
return NULL;
/* We handle it. */
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
new file mode 100644
index 000000000..19a201506
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
@@ -0,0 +1,48 @@
+From 3f3e7b16934ec58ab47d2bdc9982f54a55b07534 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:25:33 +0800
+Subject: [PATCH] fix compile failure with debian patches
+
+While applying debian patches, there is a compile failure
+...
+elfutils-0.177/backends/mips_init.c:48:5: error: 'Ebl' {aka 'struct ebl'} has no member named 'name'
+...
+
+Since upstream applied commit [b323391 libdwelf: Add dwelf_elf_e_machine_string
+and use it in readelf], it remove 'name' from 'struct ebl'
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ backends/mips_init.c | 1 -
+ backends/parisc_init.c | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+index bce5abe..e1c65c8 100644
+--- a/backends/mips_init.c
++++ b/backends/mips_init.c
+@@ -45,7 +45,6 @@ mips_init (Elf *elf __attribute__ ((unused)),
+ return NULL;
+
+ /* We handle it. */
+- eh->name = "MIPS";
+ mips_init_reloc (eh);
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, return_value_location);
+diff --git a/backends/parisc_init.c b/backends/parisc_init.c
+index f1e401c..97b4a8c 100644
+--- a/backends/parisc_init.c
++++ b/backends/parisc_init.c
+@@ -56,7 +56,6 @@ parisc_init (Elf *elf __attribute__ ((unused)),
+ pa64 = 1;
+ }
+ /* We handle it. */
+- eh->name = "PA-RISC";
+ parisc_init_reloc (eh);
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, machine_flag_check);
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
index 7c0b9c6dc..aee00cba1 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
@@ -1,18 +1,18 @@
-From 93ae9bb7d25a1adbcbab23a9b8493f370a93f0a3 Mon Sep 17 00:00:00 2001
+From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:01 +0000
-Subject: [PATCH] Add support for mips64 abis in mips_retval.c
+Subject: [PATCH 2/3] Add support for mips64 abis in mips_retval.c
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/mips_retval.c | 104 +++++++++++++++++++++++++++++++++++++----
+ backends/mips_retval.c | 104 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 94 insertions(+), 10 deletions(-)
diff --git a/backends/mips_retval.c b/backends/mips_retval.c
-index 656cd1f..57487bb 100644
+index 33f12a7..d5c6ef0 100644
--- a/backends/mips_retval.c
+++ b/backends/mips_retval.c
@@ -91,6 +91,8 @@ enum mips_abi find_mips_abi(Elf *elf)
@@ -166,3 +166,6 @@ index 656cd1f..57487bb 100644
*locp = loc_aggregate;
return nloc_aggregate;
}
+--
+2.1.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
index 17b98a796..c949e9653 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
@@ -1,7 +1,7 @@
-From bce44aece915698a224a8aefa66784b27455675b Mon Sep 17 00:00:00 2001
+From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:02 +0000
-Subject: [PATCH] Add mips n64 relocation format hack
+Subject: [PATCH 3/3] Add mips n64 relocation format hack
MIPSEL N64 ELF files use a slightly different format for storing relocation
entries which is incompatible with the normal R_SYM / R_INFO macros.
@@ -12,9 +12,9 @@ This patch also ensures that strip.c sets the correct value of e_machine
before manipulating relocations so that these changes take effect.
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
libelf/gelf_getrel.c | 25 +++++++++++++++++++++++--
libelf/gelf_getrela.c | 25 +++++++++++++++++++++++--
@@ -23,10 +23,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
src/strip.c | 17 +++++++++++++++++
5 files changed, 101 insertions(+), 6 deletions(-)
-diff --git a/libelf/gelf_getrel.c b/libelf/gelf_getrel.c
-index 309e3d3..2a81a97 100644
---- a/libelf/gelf_getrel.c
-+++ b/libelf/gelf_getrel.c
+Index: elfutils-0.175/libelf/gelf_getrel.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_getrel.c
++++ elfutils-0.175/libelf/gelf_getrel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -35,7 +35,7 @@ index 309e3d3..2a81a97 100644
GElf_Rel *
gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
-@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
+@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GE
result = NULL;
}
else
@@ -66,10 +66,10 @@ index 309e3d3..2a81a97 100644
}
rwlock_unlock (scn->elf->lock);
-diff --git a/libelf/gelf_getrela.c b/libelf/gelf_getrela.c
-index d695f65..1f42a80 100644
---- a/libelf/gelf_getrela.c
-+++ b/libelf/gelf_getrela.c
+Index: elfutils-0.175/libelf/gelf_getrela.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_getrela.c
++++ elfutils-0.175/libelf/gelf_getrela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -78,7 +78,7 @@ index d695f65..1f42a80 100644
GElf_Rela *
gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
-@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
+@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, G
result = NULL;
}
else
@@ -109,10 +109,10 @@ index d695f65..1f42a80 100644
}
rwlock_unlock (scn->elf->lock);
-diff --git a/libelf/gelf_update_rel.c b/libelf/gelf_update_rel.c
-index 14f62e9..9095556 100644
---- a/libelf/gelf_update_rel.c
-+++ b/libelf/gelf_update_rel.c
+Index: elfutils-0.175/libelf/gelf_update_rel.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_update_rel.c
++++ elfutils-0.175/libelf/gelf_update_rel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -121,7 +121,7 @@ index 14f62e9..9095556 100644
int
gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
-@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
+@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx,
}
else
{
@@ -131,7 +131,7 @@ index 14f62e9..9095556 100644
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
{
-@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
+@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx,
goto out;
}
@@ -154,10 +154,10 @@ index 14f62e9..9095556 100644
}
result = 1;
-diff --git a/libelf/gelf_update_rela.c b/libelf/gelf_update_rela.c
-index 8825270..4caa85f 100644
---- a/libelf/gelf_update_rela.c
-+++ b/libelf/gelf_update_rela.c
+Index: elfutils-0.175/libelf/gelf_update_rela.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_update_rela.c
++++ elfutils-0.175/libelf/gelf_update_rela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -166,7 +166,7 @@ index 8825270..4caa85f 100644
int
gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
-@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
+@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx
}
else
{
@@ -176,7 +176,7 @@ index 8825270..4caa85f 100644
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
{
-@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
+@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx
goto out;
}
@@ -199,11 +199,11 @@ index 8825270..4caa85f 100644
}
result = 1;
-diff --git a/src/strip.c b/src/strip.c
-index a73009d..75bd7ba 100644
---- a/src/strip.c
-+++ b/src/strip.c
-@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
+Index: elfutils-0.175/src/strip.c
+===================================================================
+--- elfutils-0.175.orig/src/strip.c
++++ elfutils-0.175/src/strip.c
+@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char
goto fail;
}
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
index 9904f2415..ba0ce33bd 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
@@ -1,25 +1,25 @@
-From f3384466475eab373c0f1cb79c61d45709913b00 Mon Sep 17 00:00:00 2001
+From 4e6fededb3d8c90694c44214c862ac216a69ecae Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 28 May 2014 16:49:57 +0800
-Subject: [PATCH] elfutils: upgrade to 0.158
+Date: Wed, 21 Aug 2019 16:50:33 +0800
+Subject: [PATCH] arm_backend
Upstream-Status: Pending [from debian]
+Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/arm_init.c | 18 +++-
- backends/arm_regs.c | 132 ++++++++++++++++++++++++++++
- backends/arm_retval.c | 43 ++++++++-
- backends/libebl_arm.h | 9 ++
+ backends/arm_init.c | 18 ++++-
+ backends/arm_regs.c | 132 ++++++++++++++++++++++++++++++++++++
+ backends/arm_retval.c | 43 +++++++++++-
+ backends/libebl_arm.h | 9 +++
libelf/elf.h | 11 +++
- tests/run-addrcfi.sh | 93 +++++++++++++++++++-
- tests/run-allregs.sh | 95 +++++++++++++++++++-
+ tests/run-addrcfi.sh | 93 ++++++++++++++++++++++++-
+ tests/run-allregs.sh | 95 +++++++++++++++++++++++++-
tests/run-readelf-mixed-corenote.sh | 11 ++-
8 files changed, 400 insertions(+), 12 deletions(-)
create mode 100644 backends/libebl_arm.h
diff --git a/backends/arm_init.c b/backends/arm_init.c
-index f2b1b11..1b71f16 100644
+index af023f0..ea2bcb7 100644
--- a/backends/arm_init.c
+++ b/backends/arm_init.c
@@ -35,20 +35,31 @@
@@ -53,9 +53,9 @@ index f2b1b11..1b71f16 100644
+ }
+
/* We handle it. */
- eh->name = "ARM";
arm_init_reloc (eh);
-@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
+ HOOK (eh, segment_type_name);
+@@ -59,7 +70,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
HOOK (eh, core_note);
HOOK (eh, auxv_info);
HOOK (eh, check_object_attribute);
@@ -324,10 +324,10 @@ index 0000000..c00770c
+
+#endif
diff --git a/libelf/elf.h b/libelf/elf.h
-index 6310054..5dc632b 100644
+index 01648bd..05b7e7e 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
-@@ -2694,6 +2694,9 @@ enum
+@@ -2690,6 +2690,9 @@ enum
#define EF_ARM_EABI_VER4 0x04000000
#define EF_ARM_EABI_VER5 0x05000000
@@ -337,7 +337,7 @@ index 6310054..5dc632b 100644
/* Additional symbol types for Thumb. */
#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
-@@ -2711,12 +2714,19 @@ enum
+@@ -2707,12 +2710,19 @@ enum
/* Processor specific values for the Phdr p_type field. */
#define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
@@ -357,7 +357,7 @@ index 6310054..5dc632b 100644
/* AArch64 relocs. */
-@@ -3009,6 +3019,7 @@ enum
+@@ -3005,6 +3015,7 @@ enum
TLS block (LDR, STR). */
#define R_ARM_TLS_IE12GP 111 /* 12 bit GOT entry relative
to GOT origin (LDR). */
@@ -366,7 +366,7 @@ index 6310054..5dc632b 100644
#define R_ARM_THM_TLS_DESCSEQ 129
#define R_ARM_THM_TLS_DESCSEQ16 129
diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh
-index fd89d02..462d7c5 100755
+index 64fa24d..1c2aa4d 100755
--- a/tests/run-addrcfi.sh
+++ b/tests/run-addrcfi.sh
@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
@@ -619,3 +619,6 @@ index c960f1d..e4bf074 100755
CORE 124 PRPSINFO
state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500
uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
index bb5670a8d..bd98dae4b 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
@@ -1,23 +1,16 @@
-From dece09fb8c59dbdab356b63fbe6b7554dd2461a4 Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] disable -Werror as it tends to break with new gcc versions
-
+Subject: disable -Werror as it tends to break with new gcc versions
Bug-Debian: https://bugs.debian.org/886004
Last-Update: 2018-01-01
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- config/eu.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/config/eu.am b/config/eu.am
-index 82acda3..dede5c6 100644
---- a/config/eu.am
-+++ b/config/eu.am
-@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
+Index: elfutils-0.176/config/eu.am
+===================================================================
+--- elfutils-0.176.orig/config/eu.am
++++ elfutils-0.176/config/eu.am
+@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W
-Wold-style-definition -Wstrict-prototypes -Wtrampolines \
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
index afcc30abf..4460d582c 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
@@ -1,21 +1,21 @@
-From 8fe468682c550606ea961a1f996a8618940eb084 Mon Sep 17 00:00:00 2001
+From 8efad9105b38985bea373416ae8fcacf21d1d129 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 16 Jul 2010 12:26:46 +0800
-Subject: [PATCH] elfutils: upgrade to version 0.148
+Date: Wed, 21 Aug 2019 15:44:18 +0800
+Subject: [PATCH] hppa backend
+Rebase to 0.177
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/Makefile.am | 8 +-
+ backends/Makefile.am | 7 +-
backends/libebl_parisc.h | 9 ++
- backends/parisc_init.c | 73 +++++++++++++
- backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++
- backends/parisc_reloc.def | 128 +++++++++++++++++++++++
- backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++
- backends/parisc_symbol.c | 113 ++++++++++++++++++++
- libelf/elf.h | 11 ++
- 8 files changed, 712 insertions(+), 2 deletions(-)
+ backends/parisc_init.c | 73 ++++++++++++++++
+ backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++++++++
+ backends/parisc_reloc.def | 128 ++++++++++++++++++++++++++++
+ backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++
+ backends/parisc_symbol.c | 113 ++++++++++++++++++++++++
+ libelf/elf.h | 11 +++
+ 8 files changed, 711 insertions(+), 2 deletions(-)
create mode 100644 backends/libebl_parisc.h
create mode 100644 backends/parisc_init.c
create mode 100644 backends/parisc_regs.c
@@ -24,35 +24,31 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/parisc_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 2126a2e..5671a32 100644
+index 175468f..91a38e2 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
-@@ -33,12 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+@@ -33,16 +33,19 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv
-+ tilegx m68k bpf riscv parisc
+- tilegx m68k bpf riscv csky
++ tilegx m68k bpf riscv csky parisc
libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
-- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a
-+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-+ libebl_parisc_pic.a
+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
+- libebl_csky_pic.a
++ libebl_csky_pic.a libebl_parisc_pic.a
noinst_LIBRARIES = $(libebl_pic)
noinst_DATA = $(libebl_pic:_pic.a=.so)
-@@ -136,6 +137,9 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
- libebl_riscv_pic_a_SOURCES = $(riscv_SRCS)
- am_libebl_riscv_pic_a_OBJECTS = $(riscv_SRCS:.c=.os)
-
+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
- libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
- @rm -f $(@:.so=.map)
+ libelf = ../libelf/libelf.so
+ libdw = ../libdw/libdw.so
diff --git a/backends/libebl_parisc.h b/backends/libebl_parisc.h
new file mode 100644
index 0000000..f473b79
@@ -785,10 +781,10 @@ index 0000000..5754bd8
+ }
+}
diff --git a/libelf/elf.h b/libelf/elf.h
-index 75043bc..6310054 100644
+index 01648bd..218ceb2 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
-@@ -2155,16 +2155,24 @@ enum
+@@ -2162,16 +2162,24 @@ enum
#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
#define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
@@ -813,7 +809,7 @@ index 75043bc..6310054 100644
#define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
#define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
#define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
-@@ -2173,6 +2181,7 @@ enum
+@@ -2180,6 +2188,7 @@ enum
#define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
#define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
#define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
@@ -821,7 +817,7 @@ index 75043bc..6310054 100644
#define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
#define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
#define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
-@@ -2198,6 +2207,8 @@ enum
+@@ -2205,6 +2214,8 @@ enum
#define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
#define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
#define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
@@ -830,3 +826,6 @@ index 75043bc..6310054 100644
#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
index f014ae2a7..62a960f3a 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
@@ -1,19 +1,10 @@
-From 2f54a8cf959ea83c452b1a22acbc47d2738b5fa0 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-native-test.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
-index 5351e02..70f6681 100755
---- a/tests/run-native-test.sh
-+++ b/tests/run-native-test.sh
+Index: elfutils-0.165/tests/run-native-test.sh
+===================================================================
+--- elfutils-0.165.orig/tests/run-native-test.sh
++++ elfutils-0.165/tests/run-native-test.sh
@@ -83,6 +83,9 @@ native_test()
# "cannot attach to process: Function not implemented".
[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
index 53332467a..55513eedd 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
@@ -1,19 +1,8 @@
-From d326ad99be856815260a04e573fc97044c02f444 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 2 Jul 2018 13:57:09 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-strip-strmerge.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/run-strip-strmerge.sh b/tests/run-strip-strmerge.sh
-index aa9c1eb..2bab8ec 100755
---- a/tests/run-strip-strmerge.sh
-+++ b/tests/run-strip-strmerge.sh
+--- elfutils-0.165.orig/tests/run-strip-strmerge.sh
++++ elfutils-0.165/tests/run-strip-strmerge.sh
@@ -30,7 +30,7 @@ remerged=remerged.elf
tempfiles $merged $stripped $debugfile $remerged
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
index 805da80d6..e85a2fed9 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
@@ -1,17 +1,8 @@
-From bac45996ece75900e0cde97f3889eaf6c1b286f8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-native-test.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
-index d19007f..5351e02 100755
+Index: b/tests/run-native-test.sh
+===================================================================
--- a/tests/run-native-test.sh
+++ b/tests/run-native-test.sh
@@ -77,6 +77,12 @@ native_test()
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
index 697306f82..1097b0ec6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
@@ -1,18 +1,19 @@
-From 10a75fd2beefafe2043163f85426d0e575de58d8 Mon Sep 17 00:00:00 2001
+From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 16 Jul 2010 12:26:46 +0800
-Subject: [PATCH] elfutils: upgrade to version 0.148
+Date: Wed, 21 Aug 2019 15:49:52 +0800
+Subject: [PATCH] mips backend
+Rebase to 0.177
Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
backends/Makefile.am | 8 +-
- backends/mips_init.c | 59 ++++++++
- backends/mips_regs.c | 104 +++++++++++++
- backends/mips_reloc.def | 79 ++++++++++
- backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++
- backends/mips_symbol.c | 53 +++++++
+ backends/mips_init.c | 59 +++++++++
+ backends/mips_regs.c | 104 ++++++++++++++++
+ backends/mips_reloc.def | 79 ++++++++++++
+ backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++++
+ backends/mips_symbol.c | 53 ++++++++
libebl/eblopenbackend.c | 2 +
7 files changed, 624 insertions(+), 2 deletions(-)
create mode 100644 backends/mips_init.c
@@ -22,28 +23,28 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/mips_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 5671a32..ba84da6 100644
+index 91a38e2..aba8a4a 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv parisc
-+ tilegx m68k bpf riscv parisc mips
+- tilegx m68k bpf riscv csky parisc
++ tilegx m68k bpf riscv csky parisc mips
libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-- libebl_parisc_pic.a
-+ libebl_parisc_pic.a libebl_mips_pic.a
+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
+- libebl_csky_pic.a libebl_parisc_pic.a
++ libebl_csky_pic.a libebl_parisc_pic.a libebl_mips_pic.a
noinst_LIBRARIES = $(libebl_pic)
noinst_DATA = $(libebl_pic:_pic.a=.so)
-@@ -141,6 +141,10 @@ parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
- libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
- am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+@@ -145,6 +145,10 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ libebl_csky_pic_a_SOURCES = $(csky_SRCS)
+ am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
@@ -699,7 +700,7 @@ index 0000000..261b05d
+ }
+}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
-index d54b720..6cf766f 100644
+index 01711f5..d0c3589 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -71,6 +71,8 @@ static const struct
@@ -711,3 +712,6 @@ index d54b720..6cf766f 100644
{ "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
{ "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
new file mode 100644
index 000000000..fda4f6805
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
@@ -0,0 +1,131 @@
+From 96e38289f2887ddb8e6d2fb91ea04bdbdf034ab5 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 17:00:30 +0800
+Subject: [PATCH 2/2] mips_cfi
+
+Upstream-Status: Pending [from debian]
+
+Rebase to 0.177
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ backends/Makefile.am | 2 +-
+ backends/mips_cfi.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ backends/mips_init.c | 1 +
+ 3 files changed, 82 insertions(+), 1 deletion(-)
+ create mode 100644 backends/mips_cfi.c
+
+diff --git a/backends/Makefile.am b/backends/Makefile.am
+index aba8a4a..6ac0eec 100644
+--- a/backends/Makefile.am
++++ b/backends/Makefile.am
+@@ -145,7 +145,7 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ libebl_csky_pic_a_SOURCES = $(csky_SRCS)
+ am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+
+-mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c
+ libebl_mips_pic_a_SOURCES = $(mips_SRCS)
+ am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
+
+diff --git a/backends/mips_cfi.c b/backends/mips_cfi.c
+new file mode 100644
+index 0000000..9ffdab5
+--- /dev/null
++++ b/backends/mips_cfi.c
+@@ -0,0 +1,80 @@
++/* MIPS ABI-specified defaults for DWARF CFI.
++ Copyright (C) 2018 Kurt Roeckx, Inc.
++ This file is part of elfutils.
++
++ This file is free software; you can redistribute it and/or modify
++ it under the terms of either
++
++ * the GNU Lesser General Public License as published by the Free
++ Software Foundation; either version 3 of the License, or (at
++ your option) any later version
++
++ or
++
++ * the GNU General Public License as published by the Free
++ Software Foundation; either version 2 of the License, or (at
++ your option) any later version
++
++ or both in parallel, as here.
++
++ elfutils is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++
++ You should have received copies of the GNU General Public License and
++ the GNU Lesser General Public License along with this program. If
++ not, see <http://www.gnu.org/licenses/>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <dwarf.h>
++
++#define BACKEND mips_
++#include "libebl_CPU.h"
++
++int
++mips_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
++{
++ static const uint8_t abi_cfi[] =
++ {
++ /* Call-saved regs. */
++ DW_CFA_same_value, ULEB128_7 (16), /* $16 */
++ DW_CFA_same_value, ULEB128_7 (17), /* $17 */
++ DW_CFA_same_value, ULEB128_7 (18), /* $18 */
++ DW_CFA_same_value, ULEB128_7 (19), /* $19 */
++ DW_CFA_same_value, ULEB128_7 (20), /* $20 */
++ DW_CFA_same_value, ULEB128_7 (21), /* $21 */
++ DW_CFA_same_value, ULEB128_7 (22), /* $22 */
++ DW_CFA_same_value, ULEB128_7 (23), /* $23 */
++ DW_CFA_same_value, ULEB128_7 (28), /* $28 */
++ DW_CFA_same_value, ULEB128_7 (29), /* $29 */
++ DW_CFA_same_value, ULEB128_7 (30), /* $30 */
++
++ DW_CFA_same_value, ULEB128_7 (52), /* $f20 */
++ DW_CFA_same_value, ULEB128_7 (53), /* $f21 */
++ DW_CFA_same_value, ULEB128_7 (54), /* $f22 */
++ DW_CFA_same_value, ULEB128_7 (55), /* $f23 */
++ DW_CFA_same_value, ULEB128_7 (56), /* $f24 */
++ DW_CFA_same_value, ULEB128_7 (57), /* $f25 */
++ DW_CFA_same_value, ULEB128_7 (58), /* $f26 */
++ DW_CFA_same_value, ULEB128_7 (59), /* $f27 */
++ DW_CFA_same_value, ULEB128_7 (60), /* $f28 */
++ DW_CFA_same_value, ULEB128_7 (61), /* $f29 */
++ DW_CFA_same_value, ULEB128_7 (62), /* $f30 */
++ DW_CFA_same_value, ULEB128_7 (63), /* $f31 */
++
++ /* The CFA is the SP. */
++ DW_CFA_def_cfa, ULEB128_7 (29), ULEB128_7 (0),
++ };
++
++ abi_info->initial_instructions = abi_cfi;
++ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
++ abi_info->data_alignment_factor = 4;
++
++ abi_info->return_address_register = 31; /* $31 */
++
++ return 0;
++}
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+index 8482e7f..bce5abe 100644
+--- a/backends/mips_init.c
++++ b/backends/mips_init.c
+@@ -50,6 +50,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, return_value_location);
+ HOOK (eh, register_info);
++ HOOK (eh, abi_cfi);
+
+ return MODVERSION;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
index 1737e0dbc..c6d42e163 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
@@ -1,23 +1,22 @@
-From 33da4b4347aacdfb8b1b42e06e29e68a4b882d96 Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx <kurt@roeckx.be>
-Date: Mon, 4 Mar 2019 09:45:00 +0000
-Subject: [PATCH] Make readelf -w output debug information on mips
-
-Upstreams wants a change where this is handled by a hook that needs
-to be filled in by the backend for the arch.
+From 7bdc83296865cf2b2a5615dbdb7ac0d441fb1849 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:55:01 +0800
+Subject: [PATCH] mips_readelf_w
Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Rebase to 0.177
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/readelf.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/readelf.c b/src/readelf.c
-index 33706bd..ef13159 100644
+index 2084fb1..5c02a9b 100644
--- a/src/readelf.c
+++ b/src/readelf.c
-@@ -11148,7 +11148,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
+@@ -11256,7 +11256,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
@@ -27,3 +26,6 @@ index 33706bd..ef13159 100644
{
static const struct
{
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
index c4ce20c8a..e6d7948c6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
@@ -1,16 +1,13 @@
-From 03a343c6b1b72598fce654b8a638f106da44abfb Mon Sep 17 00:00:00 2001
-From: OpenEmbedded <oe.patch@oe>
-Date: Fri, 12 Apr 2019 08:05:50 +0000
-Subject: [PATCH] On many architectures this test fails because binaries/libs
- produced by binutils don't pass elflint. However elfutils shouldn't FTBFS
- because of this.
+From 6393b0e57872b3ffedf0dbd6784cd29694010878 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:59:01 +0800
+Subject: [PATCH 1/2] testsuite-ignore-elflint
-So we run the tests on all archs to see what breaks, but if it breaks we ignore
-the result (exitcode 77 means: this test was skipped).
+Upstream-Status: Pending [from debian]
-Upstream-Status: Inappropriate [oe specific]
+Rebase to 0.177
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
tests/run-elflint-self.sh | 2 +-
tests/test-subr.sh | 15 +++++++++++++++
@@ -50,3 +47,6 @@ index 09f428d..26f61f1 100644
+ if test $exit_status != 0; then exit $exit_status; fi
+}
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
index 51ca630ef..b9b9f120d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
@@ -1,3 +1,8 @@
+From d5a1651df9884fcf57ed320bc2f866538af2f420 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:18:47 +0800
+Subject: [PATCH 2/3] musl-libs
+
Collection of fixes needed to compile libelf and other libraries
provided by elfutils for musl targets
@@ -7,6 +12,21 @@ upstream given that elfutils has been closely tied to glibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Inappropriate [workaround for musl]
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/error.h | 27 +++++++++++++++++++++++++++
+ lib/fixedsizehash.h | 1 -
+ lib/libeu.h | 1 +
+ libdwfl/dwfl_error.c | 9 +++++++++
+ libdwfl/linux-kernel-modules.c | 1 +
+ libelf/elf.h | 9 ++++++---
+ 6 files changed, 44 insertions(+), 4 deletions(-)
+ create mode 100644 lib/error.h
+
+diff --git a/lib/error.h b/lib/error.h
+new file mode 100644
+index 0000000..ef06827
--- /dev/null
+++ b/lib/error.h
@@ -0,0 +1,27 @@
@@ -37,6 +57,8 @@ Upstream-Status: Inappropriate [workaround for musl]
+}
+
+#endif /* _ERROR_H_ */
+diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h
+index dac2a5f..43016fc 100644
--- a/lib/fixedsizehash.h
+++ b/lib/fixedsizehash.h
@@ -30,7 +30,6 @@
@@ -47,6 +69,8 @@ Upstream-Status: Inappropriate [workaround for musl]
#include <system.h>
+diff --git a/lib/libeu.h b/lib/libeu.h
+index ecb4d01..edc85e3 100644
--- a/lib/libeu.h
+++ b/lib/libeu.h
@@ -29,6 +29,7 @@
@@ -57,6 +81,8 @@ Upstream-Status: Inappropriate [workaround for musl]
#include <stddef.h>
#include <stdint.h>
+diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c
+index 7bcf61c..11dcc8b 100644
--- a/libdwfl/dwfl_error.c
+++ b/libdwfl/dwfl_error.c
@@ -154,7 +154,16 @@ dwfl_errmsg (int error)
@@ -76,6 +102,8 @@ Upstream-Status: Inappropriate [workaround for musl]
case OTHER_ERROR (LIBELF):
return elf_errmsg (error & 0xffff);
case OTHER_ERROR (LIBDW):
+diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
+index d46ab5a..1c3faee 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -50,6 +50,7 @@
@@ -86,6 +114,8 @@ Upstream-Status: Inappropriate [workaround for musl]
/* If fts.h is included before config.h, its indirect inclusions may not
give us the right LFS aliases of these functions, so map them manually. */
+diff --git a/libelf/elf.h b/libelf/elf.h
+index bed273d..be228e6 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -21,7 +21,9 @@
@@ -99,9 +129,9 @@ Upstream-Status: Inappropriate [workaround for musl]
/* Standard ELF types. */
-@@ -3937,6 +3939,7 @@ enum
- #define R_METAG_TLS_LE_HI16 60
- #define R_METAG_TLS_LE_LO16 61
+@@ -4029,6 +4031,7 @@ enum
+ #define R_NDS32_TLS_TPOFF 102
+ #define R_NDS32_TLS_DESC 119
-__END_DECLS
-
@@ -109,3 +139,6 @@ Upstream-Status: Inappropriate [workaround for musl]
+}
+#endif
#endif /* elf.h */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
index 0fb7eb923..40f2b69cf 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
@@ -1,9 +1,25 @@
+From 77b89dbc9f9f965ad0ef2e341d7d46bce5f07549 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:17:25 +0800
+Subject: [PATCH 1/3] musl-obstack-fts
+
Look for libfts and libobstack during configure, these
libraries are external to libc when using musl, whereas
on glibc these libraries are provided in libc itself.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Inappropriate [workaround for musl]
+
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libdw/Makefile.am | 2 +-
+ src/Makefile.am | 8 ++++----
+ 3 files changed, 59 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f93964c..b87b762 100644
--- a/configure.ac
+++ b/configure.ac
@@ -494,6 +494,60 @@ else
@@ -67,9 +83,11 @@ Upstream-Status: Inappropriate [workaround for musl]
dnl The directories with content.
dnl Documentation.
+diff --git a/libdw/Makefile.am b/libdw/Makefile.am
+index 7a3d532..a541fa3 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
-@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURC
+@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \
../libdwfl/libdwfl_pic.a ../libebl/libebl.a
libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
@@ -78,9 +96,11 @@ Upstream-Status: Inappropriate [workaround for musl]
libdw_so_SOURCES =
libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
# The rpath is necessary for libebl because its $ORIGIN use will
+diff --git a/src/Makefile.am b/src/Makefile.am
+index b72f853..2f3dfce 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -68,8 +68,8 @@ ar_no_Wstack_usage = yes
+@@ -69,8 +69,8 @@ ar_no_Wstack_usage = yes
unstrip_no_Wstack_usage = yes
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
@@ -91,7 +111,7 @@ Upstream-Status: Inappropriate [workaround for musl]
size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
-@@ -77,9 +77,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $
+@@ -78,9 +78,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
@@ -103,3 +123,6 @@ Upstream-Status: Inappropriate [workaround for musl]
unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib)
elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
index 8e636bf66..a8ad93123 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
@@ -1,3 +1,8 @@
+From 7f5e2fd86d54e0a4d195ec65afb9b411829dff9f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:19:48 +0800
+Subject: [PATCH 3/3] musl-utils
+
Provide missing defines which otherwise are available on glibc system headers
Alter the error API to match posix version
@@ -5,6 +10,19 @@ use qsort instead of qsort_r which is glibc specific API
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Inappropriate [workaround for musl]
+
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/arlib.h | 6 ++++++
+ src/elfcompress.c | 7 +++++++
+ src/readelf.c | 20 ++++++++++++--------
+ src/strip.c | 7 +++++++
+ src/unstrip.c | 9 +++++++++
+ 5 files changed, 41 insertions(+), 8 deletions(-)
+
+diff --git a/src/arlib.h b/src/arlib.h
+index e117166..8326f6c 100644
--- a/src/arlib.h
+++ b/src/arlib.h
@@ -29,6 +29,12 @@
@@ -20,6 +38,8 @@ Upstream-Status: Inappropriate [workaround for musl]
/* State of -D/-U flags. */
extern bool arlib_deterministic_output;
+diff --git a/src/elfcompress.c b/src/elfcompress.c
+index 6ba6af4..0c7674b 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -37,6 +37,13 @@
@@ -36,9 +56,11 @@ Upstream-Status: Inappropriate [workaround for musl]
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+diff --git a/src/readelf.c b/src/readelf.c
+index 5c02a9b..817562d 100644
--- a/src/readelf.c
+++ b/src/readelf.c
-@@ -4792,10 +4792,11 @@ listptr_base (struct listptr *p)
+@@ -4813,10 +4813,11 @@ listptr_base (struct listptr *p)
return cudie_base (&cu);
}
@@ -52,7 +74,7 @@ Upstream-Status: Inappropriate [workaround for musl]
struct listptr *p1 = (void *) a;
struct listptr *p2 = (void *) b;
-@@ -4811,21 +4812,21 @@ compare_listptr (const void *a, const vo
+@@ -4832,21 +4833,21 @@ compare_listptr (const void *a, const void *b, void *arg)
p1->warned = p2->warned = true;
error (0, 0,
gettext ("%s %#" PRIx64 " used with different address sizes"),
@@ -77,7 +99,7 @@ Upstream-Status: Inappropriate [workaround for musl]
}
if (p1->attr != p2 ->attr)
{
-@@ -4833,7 +4834,7 @@ compare_listptr (const void *a, const vo
+@@ -4854,7 +4855,7 @@ compare_listptr (const void *a, const void *b, void *arg)
error (0, 0,
gettext ("%s %#" PRIx64
" used with different attribute %s and %s"),
@@ -86,7 +108,7 @@ Upstream-Status: Inappropriate [workaround for musl]
dwarf_attr_name (p2->attr));
}
}
-@@ -4905,8 +4906,11 @@ static void
+@@ -4926,8 +4927,11 @@ static void
sort_listptr (struct listptr_table *table, const char *name)
{
if (table->n > 0)
@@ -100,6 +122,8 @@ Upstream-Status: Inappropriate [workaround for musl]
}
static bool
+diff --git a/src/strip.c b/src/strip.c
+index 4054c2a..d2d2176 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -46,6 +46,13 @@
@@ -116,6 +140,8 @@ Upstream-Status: Inappropriate [workaround for musl]
typedef uint8_t GElf_Byte;
/* Name and version of program. */
+diff --git a/src/unstrip.c b/src/unstrip.c
+index fc87832..21ea6b3 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -56,6 +56,15 @@
@@ -134,3 +160,6 @@ Upstream-Status: Inappropriate [workaround for musl]
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
index 01d3bf0f3..c6395998d 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
@@ -65,6 +65,9 @@ SRC_URI = "\
file://0035-Fix-for-testsuite-failure.patch \
file://0036-Re-introduce-spe-commandline-options.patch \
file://CVE-2019-14250.patch \
+ file://CVE-2019-15847_1.patch \
+ file://CVE-2019-15847_2.patch \
+ file://CVE-2019-15847_3.patch \
"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
new file mode 100644
index 000000000..227fd47c9
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
@@ -0,0 +1,521 @@
+From 8c61566116d23063ff597271884f8e00d94ab1a1 Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:48:48 +0000
+Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+ * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
+ UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
+ * config/rs6000/rs6000.md (unspec): ... here.
+ * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
+ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
+ cmpeqb, *cmpeqb_internal): Delete, move to...
+ * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
+ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
+ cmpeqb, *cmpeqb_internal): ... here.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275170 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p1
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/config/rs6000/altivec.md | 223 ----------------------------------
+ gcc/config/rs6000/rs6000.md | 224 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 239 insertions(+), 223 deletions(-)
+
+Index: gcc-9.2.0/gcc/config/rs6000/altivec.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/altivec.md
++++ gcc-9.2.0/gcc/config/rs6000/altivec.md
+@@ -80,9 +80,6 @@
+ UNSPEC_VUPKHPX
+ UNSPEC_VUPKLPX
+ UNSPEC_CONVERT_4F32_8I16
+- UNSPEC_DARN
+- UNSPEC_DARN_32
+- UNSPEC_DARN_RAW
+ UNSPEC_DST
+ UNSPEC_DSTT
+ UNSPEC_DSTST
+@@ -161,9 +158,6 @@
+ UNSPEC_BCDADD
+ UNSPEC_BCDSUB
+ UNSPEC_BCD_OVERFLOW
+- UNSPEC_CMPRB
+- UNSPEC_CMPRB2
+- UNSPEC_CMPEQB
+ UNSPEC_VRLMI
+ UNSPEC_VRLNM
+ ])
+@@ -4101,223 +4095,6 @@
+ "bcd<bcd_add_sub>. %0,%1,%2,%3"
+ [(set_attr "type" "vecsimple")])
+
+-(define_insn "darn_32"
+- [(set (match_operand:SI 0 "register_operand" "=r")
+- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
+- "TARGET_P9_MISC"
+- "darn %0,0"
+- [(set_attr "type" "integer")])
+-
+-(define_insn "darn_raw"
+- [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "darn %0,2"
+- [(set_attr "type" "integer")])
+-
+-(define_insn "darn"
+- [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "darn %0,1"
+- [(set_attr "type" "integer")])
+-
+-;; Test byte within range.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as xx:xx:hi:lo.
+-;;
+-;; Return in target register operand 0 a value of 1 if lo <= vv and
+-;; vv <= hi. Otherwise, set register operand 0 to 0.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation only operates on
+-;; SI-mode operands as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmprb"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as xx:xx:hi:lo.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
+-;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
+-;; 3 bits of the target CR register are all set to 0.
+-(define_insn "*cmprb_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB))]
+- "TARGET_P9_MISC"
+- "cmprb %0,0,%1,%2"
+- [(set_attr "type" "logical")])
+-
+-;; Set operand 0 register to -1 if the LT bit (0x8) of condition
+-;; register operand 1 is on. Otherwise, set operand 0 register to 1
+-;; if the GT bit (0x4) of condition register operand 1 is on.
+-;; Otherwise, set operand 0 to 0. Note that the result stored into
+-;; register operand 0 is non-zero iff either the LT or GT bits are on
+-;; within condition register operand 1.
+-(define_insn "setb_signed"
+- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 1)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+- "setb %0,%1"
+- [(set_attr "type" "logical")])
+-
+-(define_insn "setb_unsigned"
+- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gtu (match_dup 1)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+- "setb %0,%1"
+- [(set_attr "type" "logical")])
+-
+-;; Test byte within two ranges.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
+-;;
+-;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
+-;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
+-;; operand 0 to 0.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation only operates on
+-;; SI-mode operands as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmprb2"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB2))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the ranges specified by operand 2.
+-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
+-;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
+-;; Otherwise, set the GT bit to 0. The other 3 bits of the target
+-;; CR register are all set to 0.
+-(define_insn "*cmprb2_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB2))]
+- "TARGET_P9_MISC"
+- "cmprb %0,1,%1,%2"
+- [(set_attr "type" "logical")])
+-
+-;; Test byte membership within set of 8 bytes.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the set specified by operand 2.
+-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
+-;;
+-;; Return in target register operand 0 a value of 1 if vv equals one
+-;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
+-;; register operand 0 to 0. Note that the 8 byte values held within
+-;; operand 2 need not be unique.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation requires that operands
+-;; 0 and 1 have mode SI as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmpeqb"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:DI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPEQB))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the set specified by operand 2.
+-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
+-;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
+-;; set the GT bit to zero. The other 3 bits of the target CR register
+-;; are all set to 0.
+-(define_insn "*cmpeqb_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:DI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPEQB))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "cmpeqb %0,%1,%2"
+- [(set_attr "type" "logical")])
+-
+ (define_expand "bcd<bcd_add_sub>_<code>"
+ [(parallel [(set (reg:CCFP CR6_REGNO)
+ (compare:CCFP
+Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
++++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
+@@ -137,6 +137,12 @@
+ UNSPEC_LSQ
+ UNSPEC_FUSION_GPR
+ UNSPEC_STACK_CHECK
++ UNSPEC_DARN
++ UNSPEC_DARN_32
++ UNSPEC_DARN_RAW
++ UNSPEC_CMPRB
++ UNSPEC_CMPRB2
++ UNSPEC_CMPEQB
+ UNSPEC_ADD_ROUND_TO_ODD
+ UNSPEC_SUB_ROUND_TO_ODD
+ UNSPEC_MUL_ROUND_TO_ODD
+@@ -14322,7 +14328,225 @@
+ "xscmpuqp %0,%1,%2"
+ [(set_attr "type" "veccmp")
+ (set_attr "size" "128")])
++
++;; Miscellaneous ISA 3.0 (power9) instructions
++
++(define_insn "darn_32"
++ [(set (match_operand:SI 0 "register_operand" "=r")
++ (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
++ "TARGET_P9_MISC"
++ "darn %0,0"
++ [(set_attr "type" "integer")])
++
++(define_insn "darn_raw"
++ [(set (match_operand:DI 0 "register_operand" "=r")
++ (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "darn %0,2"
++ [(set_attr "type" "integer")])
++
++(define_insn "darn"
++ [(set (match_operand:DI 0 "register_operand" "=r")
++ (unspec:DI [(const_int 0)] UNSPEC_DARN))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "darn %0,1"
++ [(set_attr "type" "integer")])
++
++;; Test byte within range.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as xx:xx:hi:lo.
++;;
++;; Return in target register operand 0 a value of 1 if lo <= vv and
++;; vv <= hi. Otherwise, set register operand 0 to 0.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation only operates on
++;; SI-mode operands as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmprb"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as xx:xx:hi:lo.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
++;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
++;; 3 bits of the target CR register are all set to 0.
++(define_insn "*cmprb_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB))]
++ "TARGET_P9_MISC"
++ "cmprb %0,0,%1,%2"
++ [(set_attr "type" "logical")])
++
++;; Set operand 0 register to -1 if the LT bit (0x8) of condition
++;; register operand 1 is on. Otherwise, set operand 0 register to 1
++;; if the GT bit (0x4) of condition register operand 1 is on.
++;; Otherwise, set operand 0 to 0. Note that the result stored into
++;; register operand 0 is non-zero iff either the LT or GT bits are on
++;; within condition register operand 1.
++(define_insn "setb_signed"
++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 1)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++ "setb %0,%1"
++ [(set_attr "type" "logical")])
+
++(define_insn "setb_unsigned"
++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gtu (match_dup 1)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++ "setb %0,%1"
++ [(set_attr "type" "logical")])
++
++;; Test byte within two ranges.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
++;;
++;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
++;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
++;; operand 0 to 0.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation only operates on
++;; SI-mode operands as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmprb2"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB2))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the ranges specified by operand 2.
++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
++;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
++;; Otherwise, set the GT bit to 0. The other 3 bits of the target
++;; CR register are all set to 0.
++(define_insn "*cmprb2_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB2))]
++ "TARGET_P9_MISC"
++ "cmprb %0,1,%1,%2"
++ [(set_attr "type" "logical")])
++
++;; Test byte membership within set of 8 bytes.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the set specified by operand 2.
++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
++;;
++;; Return in target register operand 0 a value of 1 if vv equals one
++;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
++;; register operand 0 to 0. Note that the 8 byte values held within
++;; operand 2 need not be unique.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation requires that operands
++;; 0 and 1 have mode SI as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmpeqb"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:DI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPEQB))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the set specified by operand 2.
++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
++;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
++;; set the GT bit to zero. The other 3 bits of the target CR register
++;; are all set to 0.
++(define_insn "*cmpeqb_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:DI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPEQB))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "cmpeqb %0,%1,%2"
++ [(set_attr "type" "logical")])
+
+
+ (include "sync.md")
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
new file mode 100644
index 000000000..de7a83c23
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
@@ -0,0 +1,77 @@
+From 87bc784a7ca3a43182f7272241597a50d7491342 Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:51:26 +0000
+Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+ PR target/91481
+ * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
+ and UNSPEC_DARN_RAW.
+ (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
+ UNSPECV_DARN_RAW.
+ (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
+ (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
+ (darn): Use an unspec_volatile, and UNSPECV_DARN.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275175 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p2
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/config/rs6000/rs6000.md | 12 ++++++------
+ 2 files changed, 20 insertions(+), 6 deletions(-)
+
+Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
++++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
+@@ -137,9 +137,6 @@
+ UNSPEC_LSQ
+ UNSPEC_FUSION_GPR
+ UNSPEC_STACK_CHECK
+- UNSPEC_DARN
+- UNSPEC_DARN_32
+- UNSPEC_DARN_RAW
+ UNSPEC_CMPRB
+ UNSPEC_CMPRB2
+ UNSPEC_CMPEQB
+@@ -170,6 +167,9 @@
+ UNSPECV_EH_RR ; eh_reg_restore
+ UNSPECV_ISYNC ; isync instruction
+ UNSPECV_MFTB ; move from time base
++ UNSPECV_DARN ; darn 1 (deliver a random number)
++ UNSPECV_DARN_32 ; darn 2
++ UNSPECV_DARN_RAW ; darn 0
+ UNSPECV_NLGR ; non-local goto receiver
+ UNSPECV_MFFS ; Move from FPSCR
+ UNSPECV_MFFSL ; Move from FPSCR light instruction version
+@@ -14333,21 +14333,21 @@
+
+ (define_insn "darn_32"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
++ (unspec_volatile:SI [(const_int 0)] UNSPECV_DARN_32))]
+ "TARGET_P9_MISC"
+ "darn %0,0"
+ [(set_attr "type" "integer")])
+
+ (define_insn "darn_raw"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN_RAW))]
+ "TARGET_P9_MISC && TARGET_64BIT"
+ "darn %0,2"
+ [(set_attr "type" "integer")])
+
+ (define_insn "darn"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN))]
+ "TARGET_P9_MISC && TARGET_64BIT"
+ "darn %0,1"
+ [(set_attr "type" "integer")])
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
new file mode 100644
index 000000000..ba7130ca7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
@@ -0,0 +1,62 @@
+From dc4c8dd9dbe70740ec7a684b0f35620249fb036a Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:53:11 +0000
+Subject: [PATCH] Backport from trunk 2019-08-23 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+gcc/testsuite/
+ PR target/91481
+ * gcc.target/powerpc/darn-3.c: New testcase.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275176 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p3
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/testsuite/ChangeLog | 6 ++++++
+ gcc/testsuite/gcc.target/powerpc/darn-3.c | 16 ++++++++++++++++
+ 2 files changed, 22 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.target/powerpc/darn-3.c
+
+Index: gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
+===================================================================
+--- /dev/null
++++ gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
+@@ -0,0 +1,16 @@
++/* { dg-do compile { target { powerpc*-*-* } } } */
++/* { dg-skip-if "" { powerpc*-*-aix* } } */
++/* { dg-options "-O2 -mdejagnu-cpu=power9" } */
++
++static int darn32(void) { return __builtin_darn_32(); }
++
++int four(void)
++{
++ int sum = 0;
++ int i;
++ for (i = 0; i < 4; i++)
++ sum += darn32();
++ return sum;
++}
++
++/* { dg-final { scan-assembler-times {(?n)\mdarn .*,0\M} 4 } } */
+Index: gcc-9.2.0/gcc/testsuite/ChangeLog
+===================================================================
+--- gcc-9.2.0.orig/gcc/testsuite/ChangeLog
++++ gcc-9.2.0/gcc/testsuite/ChangeLog
+@@ -1,3 +1,11 @@
++2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
++
++ Backport from trunk
++ 2019-08-23 Segher Boessenkool <segher@kernel.crashing.org>
++
++ PR target/91481
++ * gcc.target/powerpc/darn-3.c: New testcase.
++
+ 2019-08-12 Release Manager
+
+ * GCC 9.2.0 released.
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 95af6d89a..8855bb1f3 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -206,9 +206,17 @@ do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
-BUILDDIRSTASH = "${WORKDIR}/stashed-builddir"
+inherit chrpath
+
+python gcc_stash_builddir_fixrpaths() {
+ # rewrite rpaths, breaking hardlinks as required
+ process_dir("/", d.getVar("BUILDDIRSTASH"), d, break_hardlinks = True)
+}
+
+BUILDDIRSTASH = "${WORKDIR}/stashed-builddir/build"
do_gcc_stash_builddir[dirs] = "${B}"
do_gcc_stash_builddir[cleandirs] = "${BUILDDIRSTASH}"
+do_gcc_stash_builddir[postfuncs] += "gcc_stash_builddir_fixrpaths"
do_gcc_stash_builddir () {
dest=${BUILDDIRSTASH}
hardlinkdir . $dest
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index 0f10b4173..249e24dc5 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -10,4 +10,5 @@ PACKAGES =+ "gdbserver"
FILES_gdbserver = "${bindir}/gdbserver"
ALLOW_EMPTY_gdbserver_riscv64 = "1"
+ALLOW_EMPTY_gdbserver_riscv32 = "1"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
new file mode 100644
index 000000000..a181169d4
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
@@ -0,0 +1,44 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 59da5577bf8df441c6ca958e50fcb83228702764 Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Thu, 12 Sep 2019 10:24:58 -0500
+Subject: [PATCH] opkg-build: clamp mtimes to SOURCE_DATE_EPOCH
+
+For reproducible builds, clamp mtimes bigger than SOURCE_DATE_EPOCH to
+SOURCE_DATE_EPOCH (build generated files, usually).
+
+Fixes bugzilla 13450
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ opkg-build | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/opkg-build b/opkg-build
+index dcd2d68..2517a2b 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -297,9 +297,16 @@ mkdir $tmp_dir
+
+ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}"
+
++mtime_args=""
++# --clamp-mtime requires tar > 1.28. Only use it if SOURCE_DATE_EPOCH is set, to avoid having a generic case dependency on tar > 1.28.
++# this setting will make sure files generated at build time have consistent mtimes, for reproducible builds.
++if [ ! -z "$SOURCE_DATE_EPOCH" ]; then
++ mtime_args="--mtime=@$build_date --clamp-mtime"
++fi
++
+ ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
+ ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list )
+-( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
++( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion $mtime_args -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
+ ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
+ rm $tmp_dir/file_list
+ rm $tmp_dir/control_list
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
index 4be7b16d8..cf1e4670c 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
@@ -9,6 +9,7 @@ PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtu
SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
+ file://0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch \
"
UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
diff --git a/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h b/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
index 8e2b5d094..debb39009 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
+++ b/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
@@ -12,6 +12,7 @@
#define NPY_SIZEOF_PY_INTPTR_T 8
#define NPY_SIZEOF_PY_LONG_LONG 8
#define NPY_SIZEOF_LONGLONG 8
+#define NPY_SIZEOF_OFF_T 8
#define NPY_NO_SMP 0
#define NPY_HAVE_DECL_ISNAN
#define NPY_HAVE_DECL_ISINF
diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb
index 8892d0fb4..d005dc4a9 100644
--- a/poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb
@@ -5,11 +5,11 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4"
DEPENDS = "expat dbus glib-2.0 virtual/libintl"
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
-"
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "428b7a9e7e2d154a7ceb3e13536283e4"
+SRC_URI[sha256sum] = "cdd4de2c4f5e58f287b12013ed7b41dee81d503c8d0d2397c5bd2fb01badf260"
-SRC_URI[md5sum] = "5d21d5ae6423f0e41caa3400af44edac"
-SRC_URI[sha256sum] = "d4332bbd4a0054fa4010b259c293b84d461bbd9d7a8ef528157d151c0398d886"
S = "${WORKDIR}/dbus-python-${PV}"
inherit distutils3-base autotools pkgconfig
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
index 476957e88..6babf0cae 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
@@ -14,8 +14,8 @@ SRC_URI = " \
http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
file://0001-Do-not-build-tests.patch \
"
-SRC_URI[md5sum] = "92ffa25351782feb96362f0dace2089f"
-SRC_URI[sha256sum] = "c39ca2a28364b57fa00549c6e836346031e6b886c3ceabfd8ab4b4fed0a83611"
+SRC_URI[md5sum] = "ca1dc4f31c1d6d283758e8f315a88ab6"
+SRC_URI[sha256sum] = "87e2c9aa785f352ef111dcc5f63df9b85cf6e05e52ff04f803ffbebdacf5271a"
UNKNOWN_CONFIGURE_WHITELIST = "introspection"
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index 35213171b..0bafec73c 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From 12900d498bb77bcc990868a80eaf0ab257b88fff Mon Sep 17 00:00:00 2001
+From 6229502e5ae6cbb22240594f002638e9ef78f831 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
Subject: [PATCH] python3: Add target and native recipes
@@ -14,36 +14,40 @@ Upstream-Status: Inappropriate [embedded specific]
# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
---
- Lib/distutils/sysconfig.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
+ Lib/distutils/sysconfig.py | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 6b8c129..3ca7f79 100644
+index 3dfd0a3..6c6b09a 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -84,7 +84,9 @@ def get_python_inc(plat_specific=0, prefix=None):
+@@ -97,7 +97,9 @@ def get_python_inc(plat_specific=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
- if prefix is None:
-+ if prefix is None and os.environ['STAGING_INCDIR'] != "":
++ if prefix is None and os.environ.get('STAGING_INCDIR', ""):
+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
+ elif prefix is None:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
if os.name == "posix":
if python_build:
-@@ -122,6 +124,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -140,7 +142,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
-+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
-+ if prefix is None and os.environ['STAGING_LIBDIR'] != "":
+- if prefix is None:
++ if os.environ.get('STAGING_LIBDIR', ""):
++ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
++ else:
++ lib_basename = "lib"
++ if prefix is None and os.environ.get('STAGING_LIBDIR', ""):
+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
-+
- if prefix is None:
++ elif prefix is None:
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-@@ -130,7 +136,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+ else:
+@@ -148,7 +156,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
if os.name == "posix":
libpython = os.path.join(prefix,
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 241f9dbec..de21d3073 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -23,6 +23,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
file://0009-Fix-webkitgtk-builds.patch \
file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
+ file://CVE-2019-15890.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch
new file mode 100644
index 000000000..1d89431be
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch
@@ -0,0 +1,48 @@
+From 4fc0d23e8f6d795c679623d2ed2cbe6a7a17b9c7 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Tue, 10 Sep 2019 20:02:15 -0700
+Subject: [PATCH] ip_reass: Fix use after free
+
+Using ip_deq after m_free might read pointers from an allocation reuse.
+
+This would be difficult to exploit, but that is still related with
+CVE-2019-14378 which generates fragmented IP packets that would trigger this
+issue and at least produce a DoS.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+Upstream-Status: Backport
+CVE: CVE-2019-15890
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ slirp/src/ip_input.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/slirp/src/ip_input.c b/slirp/src/ip_input.c
+index 8c75d914..c07d7d40 100644
+--- a/slirp/src/ip_input.c
++++ b/slirp/src/ip_input.c
+@@ -292,6 +292,7 @@ static struct ip *ip_reass(Slirp *slirp, struct ip *ip, struct ipq *fp)
+ */
+ while (q != (struct ipasfrag *)&fp->frag_link &&
+ ip->ip_off + ip->ip_len > q->ipf_off) {
++ struct ipasfrag *prev;
+ i = (ip->ip_off + ip->ip_len) - q->ipf_off;
+ if (i < q->ipf_len) {
+ q->ipf_len -= i;
+@@ -299,9 +300,10 @@ static struct ip *ip_reass(Slirp *slirp, struct ip *ip, struct ipq *fp)
+ m_adj(dtom(slirp, q), i);
+ break;
+ }
++ prev = q;
+ q = q->ipf_next;
+- m_free(dtom(slirp, q->ipf_prev));
+- ip_deq(q->ipf_prev);
++ ip_deq(prev);
++ m_free(dtom(slirp, prev));
+ }
+
+ insert:
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index ab2ff01b6..51e4a5939 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -10,7 +10,6 @@ SRCREV = "f95864afe8833fe3ad782d714b41378e860977b1"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
file://squashfs-tools-4.3-sysmacros.patch;striplevel=2 \
"
-UPSTREAM_CHECK_COMMITS = "1"
SRC_URI[lzma.md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
deleted file mode 100644
index fb5f72529..000000000
--- a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From af1fdce78bff4343f3c84ea118abdc3c739fc646 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 16:23:56 +0000
-Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc
-
-glibc includes the kernel header into its own header for macros
-musl does not
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- ptrace.h | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
---- a/ptrace.h
-+++ b/ptrace.h
-@@ -30,7 +30,13 @@
- # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
- # endif
-
-+#if defined(POWERPC) && !defined(__GLIBC__)
-+#define pt_regs uapi_pt_regs
-+#endif
- # include <linux/ptrace.h>
-+#if defined(POWERPC) && !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
-
- # ifdef HAVE_STRUCT_IA64_FPREG
- # undef ia64_fpreg
diff --git a/poky/meta/recipes-devtools/strace/strace/run-ptest b/poky/meta/recipes-devtools/strace/strace/run-ptest
index 8070d8317..2fed984e9 100755
--- a/poky/meta/recipes-devtools/strace/strace/run-ptest
+++ b/poky/meta/recipes-devtools/strace/strace/run-ptest
@@ -1,2 +1,3 @@
#!/bin/sh
+export TIMEOUT_DURATION=30
make -B -C tests -k test-suite.log
diff --git a/poky/meta/recipes-devtools/strace/strace_5.2.bb b/poky/meta/recipes-devtools/strace/strace_5.2.bb
index 8367bf1a4..a16c3b859 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.2.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.2.bb
@@ -10,7 +10,6 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://update-gawk-paths.patch \
file://Makefile-ptest.patch \
file://run-ptest \
- file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
file://mips-SIGEMT.patch \
file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch
new file mode 100644
index 000000000..4bc4bb086
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch
@@ -0,0 +1,40 @@
+From bf63e35c3036e6040c8cfecabc7160b1f36b0591 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Wed, 28 Aug 2019 12:31:15 -0400
+Subject: [PATCH] adjust path filter for 2 memcheck tests
+
+Test executables produced when cross-compiling can contain
+relative paths such as:
+ coregrind/tests/../../../valgrind-3.15.0/coregrind/
+Use the --fullpath-after option to match and therefore
+suppress more of the prefix to enable test to pass.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ memcheck/tests/badfree3.vgtest | 2 +-
+ memcheck/tests/varinfo5.vgtest | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/memcheck/tests/badfree3.vgtest b/memcheck/tests/badfree3.vgtest
+index 3dfc5fd8a..57eec21f3 100644
+--- a/memcheck/tests/badfree3.vgtest
++++ b/memcheck/tests/badfree3.vgtest
+@@ -1,3 +1,3 @@
+ prog: badfree
+-vgopts: -q --fullpath-after=memcheck/ --fullpath-after=coregrind/
++vgopts: -q --fullpath-after=/valgrind-3.15.0/memcheck/ --fullpath-after=/valgrind-3.15.0/coregrind/
+ stderr_filter_args: badfree.c
+diff --git a/memcheck/tests/varinfo5.vgtest b/memcheck/tests/varinfo5.vgtest
+index 063d00dce..6907bb2f6 100644
+--- a/memcheck/tests/varinfo5.vgtest
++++ b/memcheck/tests/varinfo5.vgtest
+@@ -1,3 +1,3 @@
+ prog: varinfo5
+-vgopts: --fullpath-after=memcheck/ --fullpath-after=coregrind/ --read-var-info=yes --read-inline-info=yes -q
++vgopts: --fullpath-after=/valgrind-3.15.0/memcheck/ --fullpath-after=/valgrind-3.15.0/coregrind/ --read-var-info=yes --read-inline-info=yes -q
+ stderr_filter: filter_varinfo3
+--
+2.22.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
new file mode 100644
index 000000000..acf4fd1bc
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -0,0 +1,236 @@
+cachegrind/tests/ann1
+callgrind/tests/simwork1
+callgrind/tests/simwork2
+callgrind/tests/simwork3
+callgrind/tests/simwork-both
+callgrind/tests/simwork-cache
+callgrind/tests/threads
+callgrind/tests/threads-use
+drd/tests/annotate_barrier
+drd/tests/annotate_barrier_xml
+drd/tests/annotate_hbefore
+drd/tests/annotate_hb_err
+drd/tests/annotate_hb_race
+drd/tests/annotate_ignore_read
+drd/tests/annotate_ignore_rw
+drd/tests/annotate_ignore_rw2
+drd/tests/annotate_ignore_write
+drd/tests/annotate_ignore_write2
+drd/tests/annotate_order_1
+drd/tests/annotate_order_2
+drd/tests/annotate_order_3
+drd/tests/annotate_publish_hg
+drd/tests/annotate_rwlock
+drd/tests/annotate_rwlock_hg
+drd/tests/annotate_sem
+drd/tests/annotate_smart_pointer
+drd/tests/annotate_smart_pointer2
+drd/tests/annotate_spinlock
+drd/tests/annotate_static
+drd/tests/annotate_trace_memory
+drd/tests/annotate_trace_memory_xml
+drd/tests/atomic_var
+drd/tests/bar_bad
+drd/tests/bar_bad_xml
+drd/tests/bar_trivial
+drd/tests/bug-235681
+drd/tests/bug322621
+drd/tests/circular_buffer
+drd/tests/concurrent_close
+drd/tests/custom_alloc
+drd/tests/custom_alloc_fiw
+drd/tests/dlopen
+drd/tests/fork-parallel
+drd/tests/fork-serial
+drd/tests/fp_race
+drd/tests/fp_race2
+drd/tests/fp_race_xml
+drd/tests/free_is_write
+drd/tests/free_is_write2
+drd/tests/hg01_all_ok
+drd/tests/hg02_deadlock
+drd/tests/hg03_inherit
+drd/tests/hg04_race
+drd/tests/hg05_race2
+drd/tests/hg06_readshared
+drd/tests/hold_lock_1
+drd/tests/hold_lock_2
+drd/tests/linuxthreads_det
+drd/tests/matinv
+drd/tests/memory_allocation
+drd/tests/monitor_example
+drd/tests/new_delete
+drd/tests/pth_barrier
+drd/tests/pth_barrier2
+drd/tests/pth_barrier3
+drd/tests/pth_barrier_race
+drd/tests/pth_barrier_reinit
+drd/tests/pth_barrier_thr_cr
+drd/tests/pth_broadcast
+drd/tests/pth_cancel_locked
+drd/tests/pth_cleanup_handler
+drd/tests/pth_cond_race
+drd/tests/pth_cond_race2
+drd/tests/pth_detached2
+drd/tests/pth_detached3
+drd/tests/pth_detached_sem
+drd/tests/pth_inconsistent_cond_wait
+drd/tests/pth_mutex_reinit
+drd/tests/pth_once
+drd/tests/pth_process_shared_mutex
+drd/tests/pth_spinlock
+drd/tests/pth_uninitialized_cond
+drd/tests/read_and_free_race
+drd/tests/recursive_mutex
+drd/tests/rwlock_race
+drd/tests/rwlock_test
+drd/tests/rwlock_type_checking
+drd/tests/sem_as_mutex
+drd/tests/sem_as_mutex2
+drd/tests/sem_as_mutex3
+drd/tests/sem_open
+drd/tests/sem_open2
+drd/tests/sem_open3
+drd/tests/sem_open_traced
+drd/tests/sem_wait
+drd/tests/sigalrm
+drd/tests/sigaltstack
+drd/tests/std_atomic
+drd/tests/std_string
+drd/tests/std_thread
+drd/tests/std_thread2
+drd/tests/str_tester
+drd/tests/tc01_simple_race
+drd/tests/tc02_simple_tls
+drd/tests/tc03_re_excl
+drd/tests/tc04_free_lock
+drd/tests/tc05_simple_race
+drd/tests/tc06_two_races
+drd/tests/tc07_hbl1
+drd/tests/tc08_hbl2
+drd/tests/tc09_bad_unlock
+drd/tests/tc10_rec_lock
+drd/tests/tc11_XCHG
+drd/tests/tc12_rwl_trivial
+drd/tests/tc13_laog1
+drd/tests/tc15_laog_lockdel
+drd/tests/tc16_byterace
+drd/tests/tc17_sembar
+drd/tests/tc18_semabuse
+drd/tests/tc19_shadowmem
+drd/tests/tc21_pthonce
+drd/tests/tc22_exit_w_lock
+drd/tests/tc23_bogus_condwait
+helgrind/tests/annotate_rwlock
+helgrind/tests/annotate_smart_pointer
+helgrind/tests/bar_bad
+helgrind/tests/bar_trivial
+helgrind/tests/bug322621
+helgrind/tests/cond_init_destroy
+helgrind/tests/cond_timedwait_invalid
+helgrind/tests/cond_timedwait_test
+helgrind/tests/free_is_write
+helgrind/tests/hg01_all_ok
+helgrind/tests/hg03_inherit
+helgrind/tests/hg04_race
+helgrind/tests/hg05_race2
+helgrind/tests/hg06_readshared
+helgrind/tests/locked_vs_unlocked1_fwd
+helgrind/tests/locked_vs_unlocked1_rev
+helgrind/tests/locked_vs_unlocked2
+helgrind/tests/locked_vs_unlocked3
+helgrind/tests/pth_barrier1
+helgrind/tests/pth_barrier2
+helgrind/tests/pth_barrier3
+helgrind/tests/pth_destroy_cond
+helgrind/tests/rwlock_race
+helgrind/tests/rwlock_test
+helgrind/tests/shmem_abits
+helgrind/tests/stackteardown
+helgrind/tests/t2t_laog
+helgrind/tests/tc01_simple_race
+helgrind/tests/tc02_simple_tls
+helgrind/tests/tc03_re_excl
+helgrind/tests/tc04_free_lock
+helgrind/tests/tc05_simple_race
+helgrind/tests/tc06_two_races
+helgrind/tests/tc06_two_races_xml
+helgrind/tests/tc07_hbl1
+helgrind/tests/tc08_hbl2
+helgrind/tests/tc09_bad_unlock
+helgrind/tests/tc10_rec_lock
+helgrind/tests/tc11_XCHG
+helgrind/tests/tc12_rwl_trivial
+helgrind/tests/tc13_laog1
+helgrind/tests/tc14_laog_dinphils
+helgrind/tests/tc15_laog_lockdel
+helgrind/tests/tc16_byterace
+helgrind/tests/tc17_sembar
+helgrind/tests/tc18_semabuse
+helgrind/tests/tc19_shadowmem
+helgrind/tests/tc20_verifywrap
+helgrind/tests/tc21_pthonce
+helgrind/tests/tc22_exit_w_lock
+helgrind/tests/tc23_bogus_condwait
+helgrind/tests/tc24_nonzero_sem
+helgrind/tests/tls_threads
+memcheck/tests/accounting
+memcheck/tests/addressable
+memcheck/tests/arm64-linux/scalar
+memcheck/tests/atomic_incs
+memcheck/tests/badaddrvalue
+memcheck/tests/badfree
+memcheck/tests/badfree-2trace
+memcheck/tests/badfree3
+memcheck/tests/badjump
+memcheck/tests/badjump2
+memcheck/tests/badloop
+memcheck/tests/badpoll
+memcheck/tests/badrw
+memcheck/tests/big_blocks_freed_list
+memcheck/tests/brk2
+memcheck/tests/dw4
+memcheck/tests/err_disable4
+memcheck/tests/err_disable_arange1
+memcheck/tests/leak-autofreepool-5
+memcheck/tests/leak_cpp_interior
+memcheck/tests/linux/lsframe1
+memcheck/tests/linux/lsframe2
+memcheck/tests/linux/with-space
+memcheck/tests/origin5-bz2
+memcheck/tests/origin6-fp
+memcheck/tests/overlap
+memcheck/tests/partial_load_dflt
+memcheck/tests/pdb-realloc2
+memcheck/tests/sh-mem
+memcheck/tests/sh-mem-random
+memcheck/tests/sigaltstack
+memcheck/tests/sigkill
+memcheck/tests/signal2
+memcheck/tests/supp_unknown
+memcheck/tests/threadname
+memcheck/tests/threadname_xml
+memcheck/tests/unit_oset
+memcheck/tests/varinfo1
+memcheck/tests/varinfo2
+memcheck/tests/varinfo3
+memcheck/tests/varinfo4
+memcheck/tests/varinfo5
+memcheck/tests/varinfo6
+memcheck/tests/varinforestrict
+memcheck/tests/vcpu_bz2
+memcheck/tests/vcpu_fbench
+memcheck/tests/vcpu_fnfns
+memcheck/tests/wcs
+memcheck/tests/wrap1
+memcheck/tests/wrap2
+memcheck/tests/wrap3
+memcheck/tests/wrap4
+memcheck/tests/wrap5
+memcheck/tests/wrap6
+memcheck/tests/wrap7
+memcheck/tests/wrap8
+memcheck/tests/wrapmalloc
+memcheck/tests/wrapmallocstatic
+memcheck/tests/writev1
+memcheck/tests/xml1
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
index 447d33c8c..97b0a85db 100755
--- a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
@@ -4,13 +4,46 @@
# wraps the valgrind regression script vg_regtest.
#
# Dave Lerner <dave.lerner@windriver.com>
+# Randy MacLeod <Randy.MacLeod@windriver.com>
###############################################################
-VALGRINDLIB=@libdir@/valgrind
-LOG="${VALGRINDLIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log"
+VALGRIND_LIB=@libdir@/valgrind
+VALGRIND_BIN=@bindir@/valgrind
+
+LOG="${VALGRIND_LIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log"
+
+TOOLS="memcheck cachegrind callgrind helgrind drd massif dhat lackey none"
+EXP_TOOLS="exp-bbv exp-dhat exp-sgcheck"
+
+GDB_BIN=@bindir@/gdb
+cd ${VALGRIND_LIB}/ptest && ./gdbserver_tests/make_local_links ${GDB_BIN}
+
+arch=`arch`
+if [ "$arch" = "aarch64" ]; then
+ echo "Aarch64: Hide valgrind tests that result in defunct process and then out of memory"
+ for i in `cat remove-for-aarch64`; do
+ mv $i.vgtest $i.IGNORE;
+ done
+fi
+
+cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \
+ --valgrind=${VALGRIND_BIN} \
+ --valgrind-lib=${VALGRIND_LIB} \
+ --yocto-ptest \
+ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \
+ 2>&1|tee ${LOG}
+
+cd ${VALGRIND_LIB}/ptest && \
+ ./tests/post_regtest_checks $(pwd) \
+ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \
+ 2>&1|tee -a ${LOG}
+
+if [ "$arch" = "aarch64" ]; then
+ echo "Aarch64: Restore valgrind tests that result in defunct process and then out of memory"
+ for i in `cat remove-for-aarch64`; do
+ mv $i.IGNORE $i.vgtest;
+ done
+fi
-cd ${VALGRINDLIB}/ptest && ./tests/vg_regtest --all \
- --valgrind=/usr/bin/valgrind --valgrind-lib=$VALGRINDLIB \
- --yocto-ptest 2>&1|tee ${LOG}
passed=`grep PASS: ${LOG}|wc -l`
failed=`grep FAIL: ${LOG}|wc -l`
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index 4e89c604d..63f972945 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -15,6 +15,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://fixed-perl-path.patch \
file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
file://run-ptest \
+ file://remove-for-aarch64 \
file://0004-Fix-out-of-tree-builds.patch \
file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
@@ -38,6 +39,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \
file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \
file://0002-valgrind-adjust-std_list-expected-output.patch \
+ file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
"
SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
@@ -109,7 +111,11 @@ RDEPENDS_${PN} += "perl"
# redirect functions like strlen.
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
-RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg"
+RDEPENDS_${PN}-ptest += " bash coreutils file \
+ gdb libgomp \
+ perl \
+ perl-module-getopt-long perl-module-file-basename perl-module-file-glob \
+ procps sed ${PN}-dbg"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
# One of the tests contains a bogus interpreter path on purpose.
@@ -134,21 +140,23 @@ do_install_ptest() {
for parent_dir in ${S} ${B} ; do
cd $parent_dir
- # exclude shell or the package won't install
- rm -rf none/tests/shell* 2>/dev/null
-
subdirs=" \
+ .in_place \
cachegrind/tests \
callgrind/tests \
+ dhat/tests \
drd/tests \
gdbserver_tests \
helgrind/tests \
+ lackey/tests \
massif/tests \
memcheck/tests \
none/tests \
tests \
+ exp-bbv/tests \
+ exp-dhat/tests \
+ exp-sgcheck/tests \
"
-
# Get the vg test scripts, filters, and expected files
for dir in $subdirs ; do
find $dir | cpio -pvdu ${D}${PTEST_PATH}
@@ -156,17 +164,33 @@ do_install_ptest() {
cd $saved_dir
done
- # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind
- mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c
- # clean out build artifacts before building the rpm
+ # The scripts reference config.h so add it to the top ptest dir.
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH}
+
+ # Add an executable need by none/tests/bigcode
+ mkdir ${D}${PTEST_PATH}/perf
+ cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf
+
+ # Add an executable needed by memcheck/tests/vcpu_bz2
+ cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf
+
+ # Make the ptest dir look like the top level valgrind src dir
+ # This is checked by the gdbserver_tests/make_local_links script
+ mkdir ${D}${PTEST_PATH}/coregrind
+ cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind
+
+ # Add an executable needed by massif tests
+ cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
+
find ${D}${PTEST_PATH} \
- \( -name "Makefile*" \
+ \( \
+ -name "Makefile*" \
-o -name "*.o" \
- -o -name "*.c" \
- -o -name "*.S" \
- -o -name "*.h" \) \
+ \) \
-exec rm {} \;
- mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
+
+ # These files need to be newer so touch them.
touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test
# find *_annotate in ${bindir} for yocto build
@@ -176,9 +200,7 @@ do_install_ptest() {
sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest
sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest
- # needed by massif tests
- cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
-
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
+ sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest
}