summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch7
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch40
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch7
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch40
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch16
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch34
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch64
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch147
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch221
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch137
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch14
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch9
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch7
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch7
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.23.0.bb (renamed from meta/recipes-devtools/valgrind/valgrind_3.22.0.bb)8
15 files changed, 101 insertions, 657 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch
index e7af5efeccd..832a1c3d6e1 100644
--- a/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch
@@ -10,11 +10,9 @@ Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
tests/vg_regtest.in | 1 +
1 file changed, 1 insertion(+)
-diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
-index 909af3be8..f2799c4e3 100755
--- a/tests/vg_regtest.in
+++ b/tests/vg_regtest.in
-@@ -403,6 +403,7 @@ sub mysystem($)
+@@ -401,6 +401,7 @@ sub mysystem($)
exit 1;
}
}
@@ -22,6 +20,3 @@ index 909af3be8..f2799c4e3 100755
}
# if $keepunfiltered, copies $1 to $1.unfiltered.out
# renames $0 tp $1
---
-2.17.0
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch b/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch
new file mode 100644
index 00000000000..35e3730088c
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch
@@ -0,0 +1,40 @@
+From b17b6d7d3a65c14f91f090f3f4f9898d6fa3a9e4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 10 May 2024 16:27:34 -0700
+Subject: [PATCH] configure: Drop setting mcpu=cortex-a8 on arm
+
+The -march settings from environment expresses the flags
+appropriately, moreover, this conflicts when using armhf
+without neon [1]
+
+[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928224
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 39d8b6d..d61b3a6 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -275,13 +275,13 @@ case "${host_cpu}" in
+
+ armv8*)
+ AC_MSG_RESULT([ok (${host_cpu})])
+- VGCONF_PLATFORM_ARM_ARCH="-marm -mcpu=cortex-a8"
++ VGCONF_PLATFORM_ARM_ARCH="-marm"
+ ARCH_MAX="arm"
+ ;;
+
+ armv7*)
+ AC_MSG_RESULT([ok (${host_cpu})])
+- VGCONF_PLATFORM_ARM_ARCH="-marm -mcpu=cortex-a8"
++ VGCONF_PLATFORM_ARM_ARCH="-marm"
+ ARCH_MAX="arm"
+ ;;
+
+--
+2.45.0
+
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch b/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch
index 256ddb0c343..eba569c884b 100644
--- a/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch
@@ -18,11 +18,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
docs/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/docs/Makefile.am b/docs/Makefile.am
-index d4250e8..c500306 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
-@@ -192,7 +192,7 @@ valid-manpages: $(MANPAGES_XML_FILES)
+@@ -194,7 +194,7 @@ valid-manpages: $(MANPAGES_XML_FILES)
touch $@; \
fi
@@ -31,6 +29,3 @@ index d4250e8..c500306 100644
# The text version of the FAQ.
FAQ.txt:
---
-2.34.1
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch b/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
index 073713c1396..7996fa6e8f8 100644
--- a/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
@@ -19,30 +19,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
none/tests/arm/Makefile.am | 18 +++++++++---------
3 files changed, 15 insertions(+), 15 deletions(-)
-diff --git a/Makefile.all.am b/Makefile.all.am
-index 02059a3..c7c4700 100644
---- a/Makefile.all.am
-+++ b/Makefile.all.am
-@@ -197,11 +197,11 @@ AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
-
- AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
- AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
-- $(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
-+ $(AM_CFLAGS_BASE) -marm
- AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
-- -marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
-+ -marm $(AM_CFLAGS_PSO_BASE)
- AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
-- -marm -mcpu=cortex-a8 -g
-+ -marm -g
-
- AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
- AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
-diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
-index df82169..07eb66a 100644
--- a/helgrind/tests/Makefile.am
+++ b/helgrind/tests/Makefile.am
-@@ -189,9 +189,9 @@ if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
+@@ -223,9 +223,9 @@ if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
endif
if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
@@ -55,11 +34,9 @@ index df82169..07eb66a 100644
else
annotate_hbefore_CFLAGS = $(AM_CFLAGS)
tc07_hbl1_CFLAGS = $(AM_CFLAGS)
-diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
-index 024eb6d..ccecb90 100644
--- a/none/tests/arm/Makefile.am
+++ b/none/tests/arm/Makefile.am
-@@ -52,10 +52,10 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
+@@ -56,10 +56,10 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_N
# need special helping w.r.t -mfpu and -mfloat-abi, though.
# Also force -O0 since -O takes hundreds of MB of memory
# for v6intThumb.c.
@@ -71,11 +48,11 @@ index 024eb6d..ccecb90 100644
-v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb
+v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb
- v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm
- v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb
-@@ -65,23 +65,23 @@ v8memory_a_CFLAGS = $(AM_CFLAGS) -g -O0 \
- v8memory_t_CFLAGS = $(AM_CFLAGS) -g -O0 \
- -march=armv8-a -mfpu=crypto-neon-fp-armv8 -mthumb
+ v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a
+ v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a
+@@ -74,23 +74,23 @@ v8memory_t_CFLAGS = $(AM_CFLAGS) -g -O0
+
+ vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mfpu=neon
-vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
+vfp_CFLAGS = $(AM_CFLAGS) -g -O0 \
@@ -103,6 +80,3 @@ index 024eb6d..ccecb90 100644
+vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mfpu=vfpv3
vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm
---
-2.12.2
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch
index 15fbbe954f0..29a9e95a900 100644
--- a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/config.h.in
+++ b/config.h.in
-@@ -301,6 +301,9 @@
+@@ -424,6 +424,9 @@
/* Define to 1 if you have the <sys/sysnvl.h> header file. */
#undef HAVE_SYS_SYSNVL_H
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/configure.ac
+++ b/configure.ac
-@@ -4098,6 +4098,7 @@ AC_CHECK_HEADERS([ \
+@@ -4881,6 +4881,7 @@ AC_CHECK_HEADERS([ \
sys/syscall.h \
sys/sysnvl.h \
sys/time.h \
@@ -39,7 +39,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/memcheck/tests/linux/timerfd-syscall.c
+++ b/memcheck/tests/linux/timerfd-syscall.c
-@@ -45,6 +45,9 @@
+@@ -42,6 +42,9 @@
#if defined(HAVE_SYS_TIME_H)
#include <sys/time.h>
#endif
@@ -49,7 +49,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#if defined(HAVE_SYS_TYPES_H)
#include <sys/types.h>
#endif
-@@ -54,7 +57,8 @@
+@@ -51,7 +54,8 @@
* timerfd_* system call numbers introduced in 2.6.23. These constants are
* not yet in the glibc 2.7 headers, that is why they are defined here.
*/
@@ -59,7 +59,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#if defined(__x86_64__)
#define __NR_timerfd_create 283
#elif defined(__i386__)
-@@ -67,8 +71,10 @@
+@@ -64,8 +68,10 @@
#error Cannot detect your architecture!
#endif
#endif
@@ -71,7 +71,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#if defined(__x86_64__)
#define __NR_timerfd_settime 286
#define __NR_timerfd_gettime 287
-@@ -85,7 +91,7 @@
+@@ -82,7 +88,7 @@
#error Cannot detect your architecture!
#endif
#endif
@@ -80,7 +80,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
/* Definitions from include/linux/timerfd.h */
-@@ -127,6 +133,7 @@ void set_timespec(struct timespec *tmr,
+@@ -124,6 +130,7 @@ void set_timespec(struct timespec *tmr,
tmr->tv_nsec = (long) (1000ULL * (ustime % 1000000ULL));
}
@@ -88,7 +88,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
int timerfd_create(int clockid, int flags)
{
return syscall(__NR_timerfd_create, clockid, flags);
-@@ -142,6 +149,7 @@ int timerfd_gettime(int ufc, struct itim
+@@ -139,6 +146,7 @@ int timerfd_gettime(int ufc, struct itim
{
return syscall(__NR_timerfd_gettime, ufc, otmr);
}
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch b/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch
new file mode 100644
index 00000000000..2d28bcb6c41
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch
@@ -0,0 +1,34 @@
+From 8e907753625faba3284925983ef8e83f8491aa76 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 10 May 2024 17:44:47 -0700
+Subject: [PATCH] tests/arm: Use -O instead of -O0
+
+GCC-14 fails to compile the testcase with -O2 [1]
+therefore workaround it by using -O1, which works
+and for OE/cross-compiling it is fine, -O0 is used
+to make these tests compile natively on an arm target
+and gcc would take less memory compiling with -O0
+-O would take a bit more memory but in cross compiling
+we have enough of it on build host.
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115042
+Upstream-Status: Inappropriate [WORKAROUND]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ none/tests/arm/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/none/tests/arm/Makefile.am
++++ b/none/tests/arm/Makefile.am
+@@ -57,9 +57,9 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_N
+ # Also force -O0 since -O takes hundreds of MB of memory
+ # for v6intThumb.c.
+ v6intARM_CFLAGS = $(AM_CFLAGS) -g -O0 -marm
+-v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb
++v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O -mthumb
+
+-v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb
++v6media_CFLAGS = $(AM_CFLAGS) -g -O -mthumb
+
+ v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a
+ v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch b/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch
deleted file mode 100644
index 80a8e3a10b1..00000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 027b649fdb831868e71be01cafdacc49a5f419ab Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Fri, 17 Nov 2023 14:01:21 +0100
-Subject: [PATCH 1/4] valgrind-monitor.py regular expressions should use raw
- strings
-
-With python 3.12 gdb will produce the following SyntaxWarning when
-loading valgrind-monitor-def.py:
-
- /usr/share/gdb/auto-load/valgrind-monitor-def.py:214:
- SyntaxWarning: invalid escape sequence '\['
- if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
-
-In a future python version this will become an SyntaxError.
-
-Use a raw strings for the regular expression.
-
-https://bugs.kde.org/show_bug.cgi?id=476708
-(cherry picked from commit 0fbfbe05028ad18efda786a256a2738d2c231ed4)
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=027b649fdb831868e71be01cafdacc49a5f419ab]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 13 +++++++++++++
- coregrind/m_gdbserver/valgrind-monitor-def.py | 2 +-
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index f11da4be8..ee5b4ff11 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,3 +1,16 @@
-+Branch 3.22
-+~~~~~~~~~~~
-+
-+* ==================== FIXED BUGS ====================
-+
-+The following bugs have been fixed or resolved on this branch.
-+
-+476708 valgrind-monitor.py regular expressions should use raw strings
-+
-+To see details of a given bug, visit
-+ https://bugs.kde.org/show_bug.cgi?id=XXXXXX
-+where XXXXXX is the bug number as listed above.
-+
- Release 3.22.0 (31 Oct 2023)
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-diff --git a/coregrind/m_gdbserver/valgrind-monitor-def.py b/coregrind/m_gdbserver/valgrind-monitor-def.py
-index b4e7b992d..d74b1590c 100644
---- a/coregrind/m_gdbserver/valgrind-monitor-def.py
-+++ b/coregrind/m_gdbserver/valgrind-monitor-def.py
-@@ -211,7 +211,7 @@ class Valgrind_ADDR_LEN_opt(Valgrind_Command):
- For compatibility reason with the Valgrind gdbserver monitor command,
- we detect and accept usages such as 0x1234ABCD[10]."""
- def invoke(self, arg_str : str, from_tty : bool) -> None:
-- if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
-+ if re.fullmatch(r"^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
- arg_str = arg_str.replace("[", " ")
- arg_str = arg_str.replace("]", " ")
- eval_execute_2(self, arg_str,
---
-2.44.0
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch b/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch
deleted file mode 100644
index 5759fa039a3..00000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 1d00e5ce0fb069911c4b525ec38289fb5d9021b0 Mon Sep 17 00:00:00 2001
-From: Paul Floyd <pjfloyd@wanadoo.fr>
-Date: Sat, 18 Nov 2023 08:49:34 +0100
-Subject: [PATCH 2/4] Bug 476548 - valgrind 3.22.0 fails on assertion when
- loading debuginfo file produced by mold
-
-(cherry picked from commit 9ea4ae66707a4dcc6f4328e11911652e4418c585)
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=1d00e5ce0fb069911c4b525ec38289fb5d9021b0]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 2 ++
- coregrind/m_debuginfo/image.c | 14 +++++++++
- coregrind/m_debuginfo/priv_image.h | 4 +++
- coregrind/m_debuginfo/readelf.c | 49 ++++++++++++++++++++++++++++--
- 4 files changed, 66 insertions(+), 3 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index ee5b4ff11..6cd13429a 100644
---- a/NEWS
-+++ b/NEWS
-@@ -5,6 +5,8 @@ Branch 3.22
-
- The following bugs have been fixed or resolved on this branch.
-
-+476548 valgrind 3.22.0 fails on assertion when loading debuginfo
-+ file produced by mold
- 476708 valgrind-monitor.py regular expressions should use raw strings
-
- To see details of a given bug, visit
-diff --git a/coregrind/m_debuginfo/image.c b/coregrind/m_debuginfo/image.c
-index 02e509071..445f95555 100644
---- a/coregrind/m_debuginfo/image.c
-+++ b/coregrind/m_debuginfo/image.c
-@@ -1221,6 +1221,20 @@ Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2)
- }
- }
-
-+Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n)
-+{
-+ ensure_valid(img, off1, 1, "ML_(img_strcmp_c)");
-+ while (n) {
-+ UChar c1 = get(img, off1);
-+ UChar c2 = *(const UChar*)str2;
-+ if (c1 < c2) return -1;
-+ if (c1 > c2) return 1;
-+ if (c1 == 0) return 0;
-+ off1++; str2++; --n;
-+ }
-+ return 0;
-+}
-+
- UChar ML_(img_get_UChar)(DiImage* img, DiOffT offset)
- {
- ensure_valid(img, offset, 1, "ML_(img_get_UChar)");
-diff --git a/coregrind/m_debuginfo/priv_image.h b/coregrind/m_debuginfo/priv_image.h
-index a49846f14..c91e49f01 100644
---- a/coregrind/m_debuginfo/priv_image.h
-+++ b/coregrind/m_debuginfo/priv_image.h
-@@ -115,6 +115,10 @@ Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2);
- cast to HChar before comparison. */
- Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2);
-
-+/* Do strncmp of a C string in the image vs a normal one. Chars are
-+ cast to HChar before comparison. */
-+Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n);
-+
- /* Do strlen of a C string in the image. */
- SizeT ML_(img_strlen)(DiImage* img, DiOffT off);
-
-diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
-index fb64ed976..46f8c8343 100644
---- a/coregrind/m_debuginfo/readelf.c
-+++ b/coregrind/m_debuginfo/readelf.c
-@@ -2501,8 +2501,7 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
- di->rodata_avma += inrw1->bias;
- di->rodata_bias = inrw1->bias;
- di->rodata_debug_bias = inrw1->bias;
-- }
-- else {
-+ } else {
- BAD(".rodata"); /* should not happen? */
- }
- di->rodata_present = True;
-@@ -2977,6 +2976,46 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
- return retval;
- }
-
-+static void find_rodata(Word i, Word shnum, DiImage* dimg, struct _DebugInfo* di, DiOffT shdr_dioff,
-+ UWord shdr_dent_szB, DiOffT shdr_strtab_dioff, PtrdiffT rw_dbias)
-+{
-+ ElfXX_Shdr a_shdr;
-+ ElfXX_Shdr a_extra_shdr;
-+ ML_(img_get)(&a_shdr, dimg,
-+ INDEX_BIS(shdr_dioff, i, shdr_dent_szB),
-+ sizeof(a_shdr));
-+ if (di->rodata_present &&
-+ 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff
-+ + a_shdr.sh_name, ".rodata")) {
-+ Word sh_size = a_shdr.sh_size;
-+ Word j;
-+ Word next_addr = a_shdr.sh_addr + a_shdr.sh_size;
-+ for (j = i + 1; j < shnum; ++j) {
-+ ML_(img_get)(&a_extra_shdr, dimg,
-+ INDEX_BIS(shdr_dioff, j, shdr_dent_szB),
-+ sizeof(a_shdr));
-+ if (0 == ML_(img_strcmp_n)(dimg, shdr_strtab_dioff
-+ + a_extra_shdr.sh_name, ".rodata", 7)) {
-+ if (a_extra_shdr.sh_addr ==
-+ VG_ROUNDUP(next_addr, a_extra_shdr.sh_addralign)) {
-+ sh_size = VG_ROUNDUP(sh_size, a_extra_shdr.sh_addralign) + a_extra_shdr.sh_size;
-+ }
-+ next_addr = a_extra_shdr.sh_addr + a_extra_shdr.sh_size;
-+ } else {
-+ break;
-+ }
-+ }
-+ vg_assert(di->rodata_size == sh_size);
-+ vg_assert(di->rodata_avma + a_shdr.sh_addr + rw_dbias);
-+ di->rodata_debug_svma = a_shdr.sh_addr;
-+ di->rodata_debug_bias = di->rodata_bias +
-+ di->rodata_svma - di->rodata_debug_svma;
-+ TRACE_SYMTAB("acquiring .rodata debug svma = %#lx .. %#lx\n",
-+ di->rodata_debug_svma,
-+ di->rodata_debug_svma + di->rodata_size - 1);
-+ TRACE_SYMTAB("acquiring .rodata debug bias = %#lx\n", (UWord)di->rodata_debug_bias);
-+ }
-+}
- Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
- {
- Word i, j;
-@@ -3391,7 +3430,11 @@ Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
- FIND(text, rx)
- FIND(data, rw)
- FIND(sdata, rw)
-- FIND(rodata, rw)
-+ // https://bugs.kde.org/show_bug.cgi?id=476548
-+ // special handling for rodata as adjacent
-+ // rodata sections may have been merged in ML_(read_elf_object)
-+ //FIND(rodata, rw)
-+ find_rodata(i, ehdr_dimg.e_shnum, dimg, di, shdr_dioff, shdr_dent_szB, shdr_strtab_dioff, rw_dbias);
- FIND(bss, rw)
- FIND(sbss, rw)
-
---
-2.44.0
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch b/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch
deleted file mode 100644
index 2a09ca52b77..00000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From a43e62dddcf51ec6578a90c5988a41e856b44b05 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Sat, 18 Nov 2023 21:17:02 +0100
-Subject: [PATCH 3/4] Add fchmodat2 syscall on linux
-
-fchmodat2 is a new syscall on linux 6.6. It is a variant of fchmodat
-that takes an extra flags argument.
-
-https://bugs.kde.org/show_bug.cgi?id=477198
-
-(cherry picked from commit 372d09fd9a8d76847c81092ebff71c80fd6c145d)
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=a43e62dddcf51ec6578a90c5988a41e856b44b05]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- NEWS | 1 +
- coregrind/m_syswrap/priv_syswrap-linux.h | 3 +++
- coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-arm-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-arm64-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-linux.c | 11 +++++++++++
- coregrind/m_syswrap/syswrap-mips32-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-mips64-linux.c | 1 +
- coregrind/m_syswrap/syswrap-nanomips-linux.c | 1 +
- coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++
- coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++
- include/vki/vki-scnums-shared-linux.h | 2 ++
- 14 files changed, 35 insertions(+)
-
-diff --git a/NEWS b/NEWS
-index 6cd13429a..da0f8c1aa 100644
---- a/NEWS
-+++ b/NEWS
-@@ -8,6 +8,7 @@ The following bugs have been fixed or resolved on this branch.
- 476548 valgrind 3.22.0 fails on assertion when loading debuginfo
- file produced by mold
- 476708 valgrind-monitor.py regular expressions should use raw strings
-+477198 Add fchmodat2 syscall on linux
-
- To see details of a given bug, visit
- https://bugs.kde.org/show_bug.cgi?id=XXXXXX
-diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
-index 7c9decf5a..798c456c9 100644
---- a/coregrind/m_syswrap/priv_syswrap-linux.h
-+++ b/coregrind/m_syswrap/priv_syswrap-linux.h
-@@ -331,6 +331,9 @@ DECL_TEMPLATE(linux, sys_openat2);
- // Linux-specific (new in Linux 5.14)
- DECL_TEMPLATE(linux, sys_memfd_secret);
-
-+// Since Linux 6.6
-+DECL_TEMPLATE(linux, sys_fchmodat2);
-+
- /* ---------------------------------------------------------------------
- Wrappers for sockets and ipc-ery. These are split into standalone
- procedures because x86-linux hides them inside multiplexors
-diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
-index 008600798..fe17d118b 100644
---- a/coregrind/m_syswrap/syswrap-amd64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
-@@ -886,6 +886,8 @@ static SyscallTableEntry syscall_table[] = {
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-
- LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
-+
-+ LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
-index 9a7a1e0d2..811931d3b 100644
---- a/coregrind/m_syswrap/syswrap-arm-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
-@@ -1059,6 +1059,8 @@ static SyscallTableEntry syscall_main_table[] = {
- LINX_(__NR_faccessat2, sys_faccessat2), // 439
-
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-+
-+ LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
-
-diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
-index 6af7bab83..3307bc2ca 100644
---- a/coregrind/m_syswrap/syswrap-arm64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
-@@ -840,6 +840,8 @@ static SyscallTableEntry syscall_main_table[] = {
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-
- LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
-+
-+ LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
-
-diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
-index d571fc327..efa47f2e6 100644
---- a/coregrind/m_syswrap/syswrap-linux.c
-+++ b/coregrind/m_syswrap/syswrap-linux.c
-@@ -6059,6 +6059,17 @@ PRE(sys_fchmodat)
- PRE_MEM_RASCIIZ( "fchmodat(path)", ARG2 );
- }
-
-+PRE(sys_fchmodat2)
-+{
-+ PRINT("sys_fchmodat2 ( %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u, %"
-+ FMT_REGWORD "u )",
-+ SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4);
-+ PRE_REG_READ4(long, "fchmodat2",
-+ int, dfd, const char *, path, vki_mode_t, mode,
-+ unsigned int, flags);
-+ PRE_MEM_RASCIIZ( "fchmodat2(pathname)", ARG2 );
-+}
-+
- PRE(sys_faccessat)
- {
- PRINT("sys_faccessat ( %ld, %#" FMT_REGWORD "x(%s), %ld )",
-diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
-index 6268a00dd..74a1f6eac 100644
---- a/coregrind/m_syswrap/syswrap-mips32-linux.c
-+++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
-@@ -1143,6 +1143,8 @@ static SyscallTableEntry syscall_main_table[] = {
- LINX_ (__NR_faccessat2, sys_faccessat2), // 439
-
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-+
-+ LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno)
-diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
-index 6cdf25893..4e8508b7a 100644
---- a/coregrind/m_syswrap/syswrap-mips64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
-@@ -820,6 +820,7 @@ static SyscallTableEntry syscall_main_table[] = {
- LINXY (__NR_close_range, sys_close_range),
- LINX_ (__NR_faccessat2, sys_faccessat2),
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2),
-+ LINX_ (__NR_fchmodat2, sys_fchmodat2),
- };
-
- SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c
-index d724cde74..7859900c1 100644
---- a/coregrind/m_syswrap/syswrap-nanomips-linux.c
-+++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c
-@@ -829,6 +829,7 @@ static SyscallTableEntry syscall_main_table[] = {
- LINXY (__NR_close_range, sys_close_range),
- LINX_ (__NR_faccessat2, sys_faccessat2),
- LINXY (__NR_epoll_pwait2, sys_epoll_pwait2),
-+ LINX_ (__NR_fchmodat2, sys_fchmodat2),
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno)
-diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
-index c0cfef235..1e19116ee 100644
---- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
-@@ -1063,6 +1063,8 @@ static SyscallTableEntry syscall_table[] = {
- LINX_(__NR_faccessat2, sys_faccessat2), // 439
-
- LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-+
-+ LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index f5976f30c..1097212a4 100644
---- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
-+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-@@ -1032,6 +1032,8 @@ static SyscallTableEntry syscall_table[] = {
- LINX_(__NR_faccessat2, sys_faccessat2), // 439
-
- LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-+
-+ LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
-index afba154e7..3588672c7 100644
---- a/coregrind/m_syswrap/syswrap-s390x-linux.c
-+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
-@@ -873,6 +873,8 @@ static SyscallTableEntry syscall_table[] = {
- LINX_(__NR_faccessat2, sys_faccessat2), // 439
-
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-+
-+ LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
-index da4fd8fa2..58badc6b0 100644
---- a/coregrind/m_syswrap/syswrap-x86-linux.c
-+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
-@@ -1658,6 +1658,8 @@ static SyscallTableEntry syscall_table[] = {
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
-
- LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
-+
-+ LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
- };
-
- SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
-diff --git a/include/vki/vki-scnums-shared-linux.h b/include/vki/vki-scnums-shared-linux.h
-index 542382b53..a4cd87149 100644
---- a/include/vki/vki-scnums-shared-linux.h
-+++ b/include/vki/vki-scnums-shared-linux.h
-@@ -50,4 +50,6 @@
-
- #define __NR_memfd_secret 447
-
-+#define __NR_fchmodat2 452
-+
- #endif
---
-2.44.0
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch b/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch
deleted file mode 100644
index 4e9185508a5..00000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 41ff9aa49f6c54c66d0e6b37f265fd9cb0176057 Mon Sep 17 00:00:00 2001
-From: Paul Floyd <pjfloyd@wanadoo.fr>
-Date: Sun, 17 Dec 2023 14:18:51 +0100
-Subject: [PATCH 4/4] Bug 478624 - Valgrind incompatibility with binutils-2.42
- on x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4
- 0x26)
-
-It was a bit of a struggle to get the testcase to build
-with both clang and gcc (oddly enough gcc was more difficult) so
-I just resorted to using .byte arrays.
-
-(cherry picked from commit d35005cef8ad8207542738812705ceabf137d7e0)
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=41ff9aa49f6c54c66d0e6b37f265fd9cb0176057]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .gitignore | 1 +
- NEWS | 2 ++
- VEX/priv/guest_x86_toIR.c | 22 +++++++++++++-
- none/tests/x86/Makefile.am | 2 ++
- none/tests/x86/gnu_binutils_nop.c | 34 ++++++++++++++++++++++
- none/tests/x86/gnu_binutils_nop.stderr.exp | 0
- none/tests/x86/gnu_binutils_nop.vgtest | 2 ++
- 7 files changed, 62 insertions(+), 1 deletion(-)
- create mode 100644 none/tests/x86/gnu_binutils_nop.c
- create mode 100644 none/tests/x86/gnu_binutils_nop.stderr.exp
- create mode 100644 none/tests/x86/gnu_binutils_nop.vgtest
-
---- a/NEWS
-+++ b/NEWS
-@@ -9,6 +9,8 @@ The following bugs have been fixed or re
- file produced by mold
- 476708 valgrind-monitor.py regular expressions should use raw strings
- 477198 Add fchmodat2 syscall on linux
-+478624 Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns
-+ (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26)
-
- To see details of a given bug, visit
- https://bugs.kde.org/show_bug.cgi?id=XXXXXX
---- a/VEX/priv/guest_x86_toIR.c
-+++ b/VEX/priv/guest_x86_toIR.c
-@@ -8198,7 +8198,7 @@ DisResult disInstr_X86_WRK (
- delta += 5;
- goto decode_success;
- }
-- /* Don't barf on recent binutils padding,
-+ /* Don't barf on recent (2010) binutils padding,
- all variants of which are: nopw %cs:0x0(%eax,%eax,1)
- 66 2e 0f 1f 84 00 00 00 00 00
- 66 66 2e 0f 1f 84 00 00 00 00 00
-@@ -8222,6 +8222,26 @@ DisResult disInstr_X86_WRK (
- goto decode_success;
- }
- }
-+
-+ /* bug478624 GNU binutils uses a leal of esi into itself with
-+ a zero offset and CS prefix as an 8 byte no-op (Dec 2023).
-+ Since the CS prefix is hardly ever used we don't do much
-+ to decode it, just a few cases for conditional branches.
-+ So add handling here with other pseudo-no-ops.
-+ */
-+ if (code[0] == 0x2E && code[1] == 0x8D) {
-+ if (code[2] == 0x74 && code[3] == 0x26 && code[4] == 0x00) {
-+ DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
-+ delta += 5;
-+ goto decode_success;
-+ }
-+ if (code[2] == 0xB4 && code[3] == 0x26 && code[4] == 0x00
-+ && code[5] == 0x00 && code[6] == 0x00 && code[7] == 0x00) {
-+ DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
-+ delta += 8;
-+ goto decode_success;
-+ }
-+ }
-
- // Intel CET requires the following opcodes to be treated as NOPs
- // with any prefix and ModRM, SIB and disp combination:
---- a/none/tests/x86/Makefile.am
-+++ b/none/tests/x86/Makefile.am
-@@ -52,6 +52,7 @@ EXTRA_DIST = \
- fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
- fxtract.stdout.exp-older-glibc \
- getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
-+ gnu_binutils_nop.stderr.exp gnu_binutils_nop.vgtest \
- incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
- int.stderr.exp int.stdout.exp int.disabled \
- $(addsuffix .stderr.exp,$(INSN_TESTS)) \
-@@ -100,6 +101,7 @@ check_PROGRAMS = \
- fpu_lazy_eflags \
- fxtract \
- getseg \
-+ gnu_binutils_nop \
- incdec_alt \
- $(INSN_TESTS) \
- int \
---- /dev/null
-+++ b/none/tests/x86/gnu_binutils_nop.c
-@@ -0,0 +1,34 @@
-+int main(void)
-+{
-+ // GNU binutils uses various opcodes as alternatives for nop
-+ // the idea is that it is faster to execute one large opcode
-+ // with no side-effects than multiple repetitions of the
-+ // single byte 'nop'. This gives more choice when code
-+ // needs to be padded.
-+
-+ // the following is based on
-+ // https://sourceware.org/cgit/binutils-gdb/tree/gas/config/tc-i386.c#n1256
-+
-+ // one byte
-+ __asm__ __volatile__("nop");
-+ // two bytes
-+ __asm__ __volatile__("xchg %ax,%ax");
-+ // three bytes
-+ //__asm__ __volatile__("leal 0(%esi),%esi");
-+ __asm__ __volatile__(".byte 0x8d,0x76,0x00");
-+ // four bytes
-+ //__asm__ __volatile__("leal 0(%esi,%eiz),%esi");
-+ __asm__ __volatile__(".byte 0x8d,0x74,0x26,0x00");
-+ // five bytes
-+ //__asm__ __volatile__("leal %cs:0(%esi,%eiz),%esi");
-+ __asm__ __volatile__(".byte 0x2e,0x8d,0x74,0x26,0x00");
-+ // six bytes
-+ //__asm__ __volatile__("leal 0L(%esi),%esi");
-+ __asm__ __volatile__(".byte 0x8d,0xb6,0x00,0x00,0x00,0x00");
-+ // seven bytes
-+ //__asm__ __volatile__("leal 0L(%esi,%eiz),%esi");
-+ __asm__ __volatile__(".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
-+ // eight bytes
-+ //__asm__ __volatile__("leal %cs:0L(%esi,%eiz),%esi");
-+ __asm__ __volatile__(".byte 0x2e,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
-+}
---- /dev/null
-+++ b/none/tests/x86/gnu_binutils_nop.vgtest
-@@ -0,0 +1,2 @@
-+prog: gnu_binutils_nop
-+vgopts: -q
diff --git a/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
index 51cd3532d3a..65de427d365 100644
--- a/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
@@ -17,11 +17,9 @@ Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++
3 files changed, 42 insertions(+), 0 deletions(-)
-diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h
-index dd3c62e..11a34aa 100644
--- a/VEX/priv/guest_ppc_defs.h
+++ b/VEX/priv/guest_ppc_defs.h
-@@ -146,6 +146,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268_269 ( UInt );
+@@ -233,6 +233,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268
extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void );
@@ -30,11 +28,9 @@ index dd3c62e..11a34aa 100644
extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst,
UInt vD_idx, UInt sh,
UInt shift_right );
-diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c
-index 11aa428..b49ea3f 100644
--- a/VEX/priv/guest_ppc_helpers.c
+++ b/VEX/priv/guest_ppc_helpers.c
-@@ -119,6 +119,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void )
+@@ -118,6 +118,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void
# endif
}
@@ -59,11 +55,9 @@ index 11aa428..b49ea3f 100644
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (reads guest state, writes guest mem) */
-diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
-index f8d220d..37c8974 100644
--- a/VEX/priv/guest_ppc_toIR.c
+++ b/VEX/priv/guest_ppc_toIR.c
-@@ -5657,6 +5657,28 @@ static Bool dis_proc_ctl ( VexAbiInfo* vbi, UInt theInstr )
+@@ -11875,6 +11875,28 @@ static Bool dis_proc_ctl ( const VexAbiI
break;
}
@@ -92,5 +86,3 @@ index f8d220d..37c8974 100644
default:
vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR);
return False;
---
-1.7.0.4
diff --git a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
index bde1241dc7c..3ab339d215d 100644
--- a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
@@ -17,19 +17,14 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
VEX/priv/guest_s390_defs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/VEX/priv/guest_s390_defs.h b/VEX/priv/guest_s390_defs.h
-index 9054290..dab8002 100644
--- a/VEX/priv/guest_s390_defs.h
+++ b/VEX/priv/guest_s390_defs.h
@@ -284,7 +284,7 @@ typedef enum {
- S390_VEC_OP_VBPERM,
- S390_VEC_OP_VMSL,
+ S390_VEC_OP_VCLFNL,
+ S390_VEC_OP_VCRNF,
S390_VEC_OP_LAST // supposed to be the last element in enum
-} s390x_vec_op_t;
+};
/* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one
ULong variable.
---
-2.29.2
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
index f15d04b1735..afca874d022 100644
--- a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
@@ -22,11 +22,9 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
none/tests/arm/Makefile.am | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
-index 4507a20..825290f 100644
--- a/none/tests/arm/Makefile.am
+++ b/none/tests/arm/Makefile.am
-@@ -62,8 +62,10 @@ neon64_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
+@@ -87,8 +87,10 @@ neon64_CFLAGS = $(AM_CFLAGS) -g -O0
-mfpu=neon \
-mthumb
@@ -39,6 +37,3 @@ index 4507a20..825290f 100644
+vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mfpu=vfpv3
+
+vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm
---
-1.9.1
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
index d04297dca8b..0895473fc01 100644
--- a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
+++ b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
@@ -16,11 +16,9 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
coregrind/m_redir.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index ff35009..d7d6816 100644
--- a/coregrind/m_redir.c
+++ b/coregrind/m_redir.c
-@@ -1275,7 +1275,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt,
+@@ -1307,7 +1307,18 @@ static void add_hardwired_spec (const H
spec->to_addr = to_addr;
spec->isWrap = False;
spec->isGlobal = False;
@@ -40,6 +38,3 @@ index ff35009..d7d6816 100644
/* VARIABLE PARTS */
spec->mark = False; /* not significant */
spec->done = False; /* not significant */
---
-1.9.1
-
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.23.0.bb
index 563d99f0e22..46719bf8a1a 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.23.0.bb
@@ -22,6 +22,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
file://avoid-neon-for-targets-which-don-t-support-it.patch \
+ file://0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch \
file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \
file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \
file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \
@@ -33,12 +34,9 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
file://0001-docs-Disable-manual-validation.patch \
- file://0001-valgrind-monitor.py-regular-expressions-should-use-r.patch \
- file://0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch \
- file://0003-Add-fchmodat2-syscall-on-linux.patch \
- file://0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch \
+ file://0001-tests-arm-Use-O-instead-of-O0.patch \
"
-SRC_URI[sha256sum] = "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c"
+SRC_URI[sha256sum] = "c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d"
UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'