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