From: Paul Floyd Date: Fri, 16 May 2025 19:32:02 +0000 (+0200) Subject: FreeBSD regtest: updates for FreeBSD 15.0-CURRENT X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8dbf86733e76d30c194f5321a72c6b44f1055e20;p=thirdparty%2Fvalgrind.git FreeBSD regtest: updates for FreeBSD 15.0-CURRENT Mostly minor expected/filter changes. Helgrind did detect a race condition in a Valgrind file static variable. Teh DRD dlopen test needs to be linked with the thread library. In a VirtualBox environment I'm getting 4 hanging testcases (3 in gdbserver_tests and none/freebsd/bug452274). --- diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index e2030ad157..7fa1611a97 100755 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -550,7 +550,9 @@ bug322621_SOURCES = bug322621.cpp condvar_SOURCES = condvar.cpp condvar_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x concurrent_close_SOURCES = concurrent_close.cpp -if !VGCONF_OS_IS_FREEBSD +if VGCONF_OS_IS_FREEBSD +dlopen_main_LDADD = ${LDADD} +else dlopen_main_LDADD = -ldl endif dlopen_lib_so_SOURCES = dlopen_lib.c diff --git a/freebsd-helgrind.supp b/freebsd-helgrind.supp index dd998f15c5..1a6f372492 100644 --- a/freebsd-helgrind.supp +++ b/freebsd-helgrind.supp @@ -238,4 +238,9 @@ Helgrind:Race fun:thr_exit } - +# sigh, this is our own variable in coregrind/m_replacemalloc/vg_replace_malloc.c +{ + FREEBSD15-AMD64-MALLOC + Helgrind:Race + fun:malloc +} diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index 817e08a728..b8c5fd0e78 100755 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -5,6 +5,7 @@ dist_noinst_SCRIPTS = \ filter_stderr_solaris \ filter_helgrind \ filter_xml \ + filter_fiw \ filter_freebsd.awk \ filter_stderr_freebsd \ filter_bug392331 diff --git a/helgrind/tests/filter_fiw b/helgrind/tests/filter_fiw new file mode 100755 index 0000000000..9ff7ae79a5 --- /dev/null +++ b/helgrind/tests/filter_fiw @@ -0,0 +1,8 @@ +#! /bin/sh + +# free_is_write may have different arena sizes + +./filter_stderr "$@" | + +sed 's/size [^ ]* in arena/size ... in arena/' + diff --git a/helgrind/tests/free_is_write.stderr.exp b/helgrind/tests/free_is_write.stderr.exp index daa327ce01..5d05242aca 100644 --- a/helgrind/tests/free_is_write.stderr.exp +++ b/helgrind/tests/free_is_write.stderr.exp @@ -23,7 +23,7 @@ Locks held: none This conflicts with a previous read of size 1 by thread #x Locks held: none at 0x........: main (free_is_write.c:36) - Address 0x........ is 5 bytes inside an unallocated block of size 16 in arena "client" + Address 0x........ is 5 bytes inside an unallocated block of size ... in arena "client" Done. diff --git a/helgrind/tests/free_is_write.vgtest b/helgrind/tests/free_is_write.vgtest index 5ba9d3423e..1e68c6054e 100644 --- a/helgrind/tests/free_is_write.vgtest +++ b/helgrind/tests/free_is_write.vgtest @@ -1,2 +1,3 @@ prog: free_is_write vgopts: --free-is-write=yes +stderr_filter: filter_fiw diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am index eb3b6f9ee0..928ac16e6a 100644 --- a/memcheck/tests/Makefile.am +++ b/memcheck/tests/Makefile.am @@ -86,6 +86,7 @@ dist_noinst_SCRIPTS = \ filter_varinfo3 \ filter_memcheck \ filter_malloc_free \ + filter_sendmsg \ filter_size_t \ filter_stanza \ filter_stanza.awk \ @@ -385,7 +386,6 @@ EXTRA_DIST = \ sem.stderr.exp sem.vgtest \ sendmsg.stderr.exp sendmsg.stderr.exp-solaris sendmsg.vgtest \ sendmsg.stderr.exp-freebsd \ - sendmsg.stderr.exp-freebsd-x86 \ sh-mem.stderr.exp sh-mem.vgtest \ sh-mem-random.stderr.exp sh-mem-random.stdout.exp64 \ sh-mem-random.stdout.exp sh-mem-random.vgtest \ diff --git a/memcheck/tests/filter_sendmsg b/memcheck/tests/filter_sendmsg new file mode 100755 index 0000000000..c11650dd08 --- /dev/null +++ b/memcheck/tests/filter_sendmsg @@ -0,0 +1,5 @@ +#! /bin/sh + +./filter_stderr "$@" | +sed -e "s/frame #./frame #.../" \ + -e "/by 0x........: sendmsg (in \/...libc...)/d" diff --git a/memcheck/tests/sendmsg.stderr.exp b/memcheck/tests/sendmsg.stderr.exp index 397a57996c..1268300b2b 100644 --- a/memcheck/tests/sendmsg.stderr.exp +++ b/memcheck/tests/sendmsg.stderr.exp @@ -2,6 +2,6 @@ Syscall param sendmsg(msg) points to uninitialised byte(s) at 0x........: sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-freebsd b/memcheck/tests/sendmsg.stderr.exp-freebsd index 7cf17e625e..d65f86f055 100644 --- a/memcheck/tests/sendmsg.stderr.exp-freebsd +++ b/memcheck/tests/sendmsg.stderr.exp-freebsd @@ -2,19 +2,18 @@ Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte( ... by 0x........: main (sendmsg.c:29) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) Syscall param sendmsg(sendmsg) points to uninitialised byte(s) at 0x........: _sendmsg (in /...libc...) - by 0x........: sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) ... by 0x........: main (sendmsg.c:59) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 b/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 deleted file mode 100644 index 9aafb02afd..0000000000 --- a/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 +++ /dev/null @@ -1,20 +0,0 @@ -Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) - ... - by 0x........: main (sendmsg.c:29) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -Syscall param sendmsg(sendmsg) points to uninitialised byte(s) - at 0x........: _sendmsg (in /...libc...) - by 0x........: sendmsg (in /...libc...) - by 0x........: main (sendmsg.c:46) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) - ... - by 0x........: main (sendmsg.c:59) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-solaris b/memcheck/tests/sendmsg.stderr.exp-solaris index f00e76e402..3ef45c16ad 100644 --- a/memcheck/tests/sendmsg.stderr.exp-solaris +++ b/memcheck/tests/sendmsg.stderr.exp-solaris @@ -3,6 +3,6 @@ Syscall param sendmsg(msg) points to uninitialised byte(s) by 0x........: __xnet_sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.vgtest b/memcheck/tests/sendmsg.vgtest index f252b62b95..562fc968fe 100644 --- a/memcheck/tests/sendmsg.vgtest +++ b/memcheck/tests/sendmsg.vgtest @@ -1,2 +1,3 @@ prog: sendmsg vgopts: -q +stderr_filter: filter_sendmsg diff --git a/none/tests/fdleak_cmsg_supp.supp b/none/tests/fdleak_cmsg_supp.supp index 95f0a31de6..cc0daca187 100644 --- a/none/tests/fdleak_cmsg_supp.supp +++ b/none/tests/fdleak_cmsg_supp.supp @@ -52,7 +52,7 @@ sup5 CoreError:FdNotClosed ... - fun:recvmsg + fun:*recvmsg fun:client fun:main }