diff --git a/.gitignore b/.gitignore index 5179c79..b8ce5ee 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /valgrind-3.23.0.tar.bz2 /valgrind-3.24.0.tar.bz2 /valgrind-3.25.0.tar.bz2 +/valgrind-3.25.1.tar.bz2 diff --git a/0015-ppc-test_dfp2-build-fix-for-GCC-15.patch b/0015-ppc-test_dfp2-build-fix-for-GCC-15.patch deleted file mode 100644 index a1de6f0..0000000 --- a/0015-ppc-test_dfp2-build-fix-for-GCC-15.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 9e4b5f1cc9f09f61fd3fb0e5687d0fc5ef39f15d Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Wed, 15 Jan 2025 16:27:12 +0100 -Subject: [PATCH] ppc test_dfp2 build fix for GCC 15 - -GCC 15 defaults to C23 which changes the meaning of unprototyped -functions, those declaring no arguments with (). Causing some errors: - -test_dfp2.c:412:26: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types] - 412 | { &_test_dscri, "dscri", dfp_2args_x1, 20, LONG_TEST, ">>", True}, - | ^ -test_dfp2.c:412:26: note: (near initialization for 'dfp_two_arg_tests[0].test_func') -test_dfp2.c:110:13: note: '_test_dscri' declared here - 110 | static void _test_dscri (int shift) - | ^~~~~~~~~~~ - -test_dfp2.c:664:17: error: assignment to 'test_func_t' {aka 'void (*)(void)'} from incompatible pointer type 'test_func_main_t' {aka 'void (*)(int)'} [-Wincompatible-pointer-types] - 664 | while ((func = all_tests[i].test_category)) { - | ^ -test_dfp2.c:237:16: note: 'test_func_t' declared here - 237 | typedef void (*test_func_t)(); - | ^~~~~~~~~~~ -test_dfp2.c:238:16: note: 'test_func_main_t' declared here - 238 | typedef void (*test_func_main_t)(int); - | ^~~~~~~~~~~~~~~~ -test_dfp2.c:667:8: error: too many arguments to function 'func'; expected 0, have 1 - 667 | (*func)(has_vsx); - | ~^~~~~~ ~~~~~~~ - -Fix this by just explicitly compiling that code with -std=gnu99. ---- - none/tests/ppc32/Makefile.am | 4 +++- - none/tests/ppc64/Makefile.am | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am -index 187cab74f763..7727876fdf66 100644 ---- a/none/tests/ppc32/Makefile.am -+++ b/none/tests/ppc32/Makefile.am -@@ -129,8 +129,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ - - test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M32@ $(BUILD_FLAGS_DFP) -+# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() -+# changed in c23, causing incompatible-pointer-types errors. - test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ -- @FLAG_M32@ $(BUILD_FLAGS_DFP) -+ @FLAG_M32@ $(BUILD_FLAGS_DFP) -std=gnu99 - test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M32@ $(BUILD_FLAGS_DFP) - test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ -diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am -index f8eab9fc00b2..98a14b434bc4 100644 ---- a/none/tests/ppc64/Makefile.am -+++ b/none/tests/ppc64/Makefile.am -@@ -190,8 +190,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ - - test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M64@ $(BUILD_FLAGS_DFP) -+# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() -+# changed in c23, causing incompatible-pointer-types errors. - test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ -- @FLAG_M64@ $(BUILD_FLAGS_DFP) -+ @FLAG_M64@ $(BUILD_FLAGS_DFP) -std=gnu99 - test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M64@ $(BUILD_FLAGS_DFP) - test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ --- -2.47.1 - diff --git a/0016-syswrap-generic-Emit-pp_ExeContext-after-the-file-de.patch b/0016-syswrap-generic-Emit-pp_ExeContext-after-the-file-de.patch deleted file mode 100644 index bdcd5b7..0000000 --- a/0016-syswrap-generic-Emit-pp_ExeContext-after-the-file-de.patch +++ /dev/null @@ -1,57 +0,0 @@ -From ec7335142384ec9da66871036803b96319b590eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= -Date: Mon, 3 Mar 2025 06:14:08 -0500 -Subject: [PATCH 16/18] syswrap-generic: Emit pp_ExeContext after the file - descriptor backtrace - -Adjust use_after_close test for the change. - -(cherry picked from commit 838dc01d2c42f7f22785c771bd74bc4e595da444) ---- - coregrind/m_syswrap/syswrap-generic.c | 2 +- - none/tests/use_after_close.stderr.exp | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c -index 1d80d09288ed..5222bcefe11b 100644 ---- a/coregrind/m_syswrap/syswrap-generic.c -+++ b/coregrind/m_syswrap/syswrap-generic.c -@@ -1179,6 +1179,7 @@ void fd_pp_Error (const Error *err) - } - VG_(emit)("%sFile descriptor %d %s%s\n", whatpre, nce->fd, - error_string, whatpost); -+ VG_(pp_ExeContext)(where); - /* If the file descriptor was never created we won't have - where_closed and where_opened. Only print them in a - use after close case. */ -@@ -1190,7 +1191,6 @@ void fd_pp_Error (const Error *err) - VG_(emit)("%sOriginally opened%s\n", auxpre, auxpost); - VG_(pp_ExeContext)(nce->where_opened); - } -- VG_(pp_ExeContext)(where); - } else { - vg_assert2 (False, "Unknown error kind: %d", - VG_(get_error_kind)(err)); -diff --git a/none/tests/use_after_close.stderr.exp b/none/tests/use_after_close.stderr.exp -index 1ef31c6551eb..75a8d6672949 100644 ---- a/none/tests/use_after_close.stderr.exp -+++ b/none/tests/use_after_close.stderr.exp -@@ -1,13 +1,13 @@ - bad - File descriptor 3 was closed already -+ at 0x........: write (in /...libc...) -+ by 0x........: main - Previously closed - at 0x........: close (in /...libc...) - by 0x........: main - Originally opened - at 0x........: dup (in /...libc...) - by 0x........: main -- at 0x........: write (in /...libc...) -- by 0x........: main - File descriptor 7 was never created - at 0x........: write (in /...libc...) - by 0x........: main --- -2.48.1 - diff --git a/0017-add_hardwired_spec-for-ld-linux-x86-64.so.2-memcmp.patch b/0017-add_hardwired_spec-for-ld-linux-x86-64.so.2-memcmp.patch deleted file mode 100644 index 24b424b..0000000 --- a/0017-add_hardwired_spec-for-ld-linux-x86-64.so.2-memcmp.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 2c17a8a3e865816ee48e7f78148bbc7240c2a38c Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Wed, 12 Mar 2025 13:57:19 +0100 -Subject: [PATCH 17/18] add_hardwired_spec for ld-linux-x86-64.so.2 memcmp - -With RPATH processing ld.so compiled for x86-64-v3 uses an optimized -avx2 memcmp (bcmp) which causes (false postive) memcheck invalid reads -of size 32 warnings. - -Fix this my adding a hardwire spec with a simpler memcmp for -ld-linux-x86-64.so.2. - -https://bugs.kde.org/show_bug.cgi?id=501348 - -Authored-by: Florian Weimer - -(cherry picked from commit 9ffdeb4927b8505cc5a9ea54f608f4972166bb0e) ---- - NEWS | 1 + - coregrind/m_redir.c | 9 +++++++++ - coregrind/m_trampoline.S | 19 +++++++++++++++++++ - coregrind/pub_core_trampoline.h | 1 + - 4 files changed, 30 insertions(+) - -diff --git a/NEWS b/NEWS -index 7f9e005c59f4..fe225c666c77 100644 ---- a/NEWS -+++ b/NEWS -@@ -11,6 +11,7 @@ The following bugs have been fixed or resolved on this branch. - 498317 FdBadUse is not a valid CoreError type in a suppression - even though it's generated by --gen-suppressions=yes - 498143 False positive on EVIOCGRAB ioctl -+501348 glibc built with -march=x86-64-v3 does not work due to ld.so memcmp - - To see details of a given bug, visit - https://bugs.kde.org/show_bug.cgi?id=XXXXXX -diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c -index f9e8d8801a19..64ebea3b6304 100644 ---- a/coregrind/m_redir.c -+++ b/coregrind/m_redir.c -@@ -1425,6 +1425,15 @@ void VG_(redir_initialise) ( void ) - NULL - # else - complain_about_stripped_glibc_ldso -+# endif -+ ); -+ add_hardwired_spec( -+ "ld-linux-x86-64.so.2", "memcmp", -+ (Addr)&VG_(amd64_linux_REDIR_FOR_memcmp), -+# ifndef GLIBC_MANDATORY_STRLEN_REDIRECT -+ NULL -+# else -+ complain_about_stripped_glibc_ldso - # endif - ); - } -diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S -index e897963be21a..27f1b35d2b08 100644 ---- a/coregrind/m_trampoline.S -+++ b/coregrind/m_trampoline.S -@@ -241,6 +241,25 @@ VG_(amd64_linux_REDIR_FOR_strcmp): - ret - .size VG_(amd64_linux_REDIR_FOR_strcmp), .-VG_(amd64_linux_REDIR_FOR_strcmp) - -+.global VG_(amd64_linux_REDIR_FOR_memcmp) -+.type VG_(amd64_linux_REDIR_FOR_memcmp), @function -+VG_(amd64_linux_REDIR_FOR_memcmp): -+ xorl %ecx, %ecx -+ jmp 2f -+1: -+ movzbl (%rdi, %rcx), %eax -+ movzbl (%rsi, %rcx), %r8d -+ addq $1, %rcx -+ subl %r8d, %eax -+ jne 3f -+2: -+ cmpq %rcx, %rdx -+ jne 1b -+ xorl %eax, %eax -+3: -+ ret -+.size VG_(amd64_linux_REDIR_FOR_memcmp), .-VG_(amd64_linux_REDIR_FOR_memcmp) -+ - .global VG_(amd64_linux_REDIR_FOR_index) - .type VG_(amd64_linux_REDIR_FOR_index), @function - VG_(amd64_linux_REDIR_FOR_index): -diff --git a/coregrind/pub_core_trampoline.h b/coregrind/pub_core_trampoline.h -index d0bd6b859742..3d2f7e9f32b7 100644 ---- a/coregrind/pub_core_trampoline.h -+++ b/coregrind/pub_core_trampoline.h -@@ -82,6 +82,7 @@ extern Addr VG_(amd64_linux_REDIR_FOR_vtime); - extern Addr VG_(amd64_linux_REDIR_FOR_vgetcpu); - extern UInt VG_(amd64_linux_REDIR_FOR_strlen)( void* ); - extern Int VG_(amd64_linux_REDIR_FOR_strcmp)( void*, void* ); -+extern Int VG_(amd64_linux_REDIR_FOR_memcmp)( void*, void*, SizeT ); - extern Char* VG_(amd64_linux_REDIR_FOR_index) ( const Char*, Int ); - #endif - --- -2.48.1 - diff --git a/0018-gdbserver_tests-filter-out-new-Missing-rpms-message.patch b/0018-gdbserver_tests-filter-out-new-Missing-rpms-message.patch deleted file mode 100644 index cf0469b..0000000 --- a/0018-gdbserver_tests-filter-out-new-Missing-rpms-message.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7b2806871f15977db3a64a59f70d48f55ba3228e Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Thu, 16 Jan 2025 17:30:37 +0100 -Subject: [PATCH 18/18] gdbserver_tests: filter out new Missing rpms message - -As seen on the fedora 40 s390x tester. GDB now might output something -like: - -Missing rpms, try: dnf --enablerepo='*debug*' install glibc-debuginfo-2.39-33.fc40.s390x - -Filter those messages out to get zero fail test results again. - -(cherry picked from commit 090f8ce59b5f3d3ec39e032ee5e9524ce4f51a44) ---- - gdbserver_tests/filter_gdb.in | 1 + - gdbserver_tests/filter_memcheck_monitor.in | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/gdbserver_tests/filter_gdb.in b/gdbserver_tests/filter_gdb.in -index 094ea933ec51..2bef9f3ee57b 100755 ---- a/gdbserver_tests/filter_gdb.in -+++ b/gdbserver_tests/filter_gdb.in -@@ -265,6 +265,7 @@ s/^0x........ in \(\w\+ (\)/\1/ - - # delete any missing debuginfo messages - /^Missing debuginfo.*/d -+/^Missing rpms.*/d - - EOF - -diff --git a/gdbserver_tests/filter_memcheck_monitor.in b/gdbserver_tests/filter_memcheck_monitor.in -index 6e8a49a303ba..e407e7b92158 100755 ---- a/gdbserver_tests/filter_memcheck_monitor.in -+++ b/gdbserver_tests/filter_memcheck_monitor.in -@@ -31,6 +31,7 @@ $dir/filter_vgdb | - $SED -e '/Cannot access memory at address 0x......../d' \ - -e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d' \ - -e '/^Missing separate debuginfo/d' \ -+ -e '/^Missing rpms/d' \ - -e '/^Try: zypper install -C/d' \ - -e 's/Test 3: FAIL: expected si_code==2, not 128/Test 3: PASS/' \ - -e 's/in use at exit: [0-9][0-9,]* bytes in [0-9][0-9]* blocks/in use at exit: ... bytes in ... blocks/' \ --- -2.48.1 - diff --git a/sources b/sources index 7102d08..074653a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (valgrind-3.25.0.tar.bz2) = 1fc649ae346d5106b69fe2cf8b494fa441d63f576b16e62d90e547f760851e427a173b6d03c4076a8ae13df66717f66631f4dc6769ede15f5521bd95099a649d +SHA512 (valgrind-3.25.1.tar.bz2) = 6a474d58730274c57d6ca012ffd3226d393d6507cd57bf46c3b26c87a0cba84e3c8cfc84c8c76e50041861e98baba7b9613490faef4212d082845581d08af351 diff --git a/valgrind.spec b/valgrind.spec index 5c77be1..a154f89 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -2,7 +2,7 @@ Summary: Dynamic analysis tools to detect memory or thread bugs and profile Name: %{?scl_prefix}valgrind -Version: 3.25.0 +Version: 3.25.1 Release: 1%{?dist} Epoch: 1 @@ -502,6 +502,9 @@ echo ===============END TESTING=============== %endif %changelog +* Thu May 22 2025 Mark Wielaard - 3.25.1-1 +- Valgrind 3.25.1 final + * Fri Apr 25 2025 Mark Wielaard - 3.25.0-1 - Valgrind 3.25.0 final