Files
valgrind/freebsd-helgrind.supp
Paul Floyd 8dbf86733e 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).
2025-05-16 21:32:02 +02:00

247 lines
4.0 KiB
Plaintext

# Suppressions for FreeBSD / Helgrind
{
HELGRIND-LIBTHR1
Helgrind:Race
obj:*/lib*/libthr.so.3
}
{
HELGRIND-LIB-RTLD1
Helgrind:Race
obj:/libexec/ld-elf*.so.1
}
{
HELGRIND-PTHREAD-EXIT0
Helgrind:Race
fun:thr_exit
obj:*/lib*/libthr.so.3
obj:*/lib*/libthr.so.3
}
{
HELGRIND-PTHREAD-JOIN
Helgrind:Race
fun:_thr_try_gc
obj:*/lib*/libthr.so.3
fun:pthread_join_WRK
fun:pthread_join
}
{
HELGRIND-PTHREAD-EXIT
Helgrind:Race
...
fun:pthread_exit
}
{
HELGRIND-PTHREAD-BARRIER2
Helgrind:Race
fun:pthread_barrier_init
}
# added PJF
{
HELGRIND-EXIT1
Helgrind:Race
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
fun:__cxa_finalize
fun:exit
}
{
HELGRIND-EXIT2
Helgrind:Race
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
fun:_rtld_error
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
fun:__cxa_finalize
fun:exit
}
{
HELGRIND-EDIT3
Helgrind:Race
fun:_rtld_error
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
fun:__cxa_finalize
fun:exit
}
{
HELGRIND-EXIT3
Helgrind:Race
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
obj:/libexec/ld-elf*.so.1
fun:__cxa_finalize
fun:exit
}
# PJF not sure exactly what the cause of this is, but it looks like it is the
# tls used for pthread_self() with a conflict between pthread_create and
# mythread_wrapper which coverst create/join/exit
{
HELGRIND-PTHREAD-CREATE1
Helgrind:Race
obj:/libexec/ld-elf*.so.1
fun:_rtld_allocate_tls
obj:*/lib*/libthr.so.3
obj:*/lib*/libthr.so.3
fun:pthread_create
}
{
HELGRIND-PTHREAD-CREATE2
Helgrind:Race
fun:memset
obj:*/lib*/libthr.so.3
fun:pthread_create
}
# PJF again a pthread_self() hazard
{
HELGRIND-PTHREAD-SELF1
Helgrind:Race
fun:mythread_wrapper
obj:*/lib*/libthr.so.3
}
{
HELGRIND-SEM-CLOCKWAIT1
Helgrind:Race
fun:sem_clockwait_np
}
{
HELGRIND-UMTX-OP1
Helgrind:Race
fun:_umtx_op
}
{
HELGRIND-SEM-POST1
Helgrind:Race
fun:sem_post
}
{
HELGRIND-GCC-UNWIND1
Helgrind:Race
obj:/lib/libgcc_s.so.1
}
{
HELGRIND-LIBC-PRINTF1
Helgrind:Race
fun:flockfile
}
{
HELGRIND-LIBC-PRINTF2
Helgrind:Race
fun:funlockfile
}
{
HELGRIND-MUTEX-LOCK1
Helgrind:Race
fun:memset
obj:*/lib*/libthr.so.3
}
{
HELGRIND-LIBOMP
Helgrind:Race
obj:/usr/lib*/libomp.so
}
{
HELGRIND-CXX-UNWIND
Helgrind:Race
obj:*/lib*/libcxxrt.so.1
obj:*/lib*/libthr.so.3
obj:*/lib*/libthr.so.3
obj:*/lib*/libthr.so.3
obj:*/lib*/libgcc_s.so.1
fun:_Unwind_ForcedUnwind
}
{
HELGRIND-GUARD-VARIABLE
Helgrind:Race
fun:_ZL11*
}
{
HELGRIND-CXX-TLS1
Helgrind:Race
fun:_ZNSt3__121__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_
}
{
HELGRIND-CXX-TLS2
Helgrind:Race
fun:_ZNSt3__119__thread_local_dataEv
}
{
HELGRIND-LIBC-FOPEN1
Helgrind:Race
obj:*/lib*/libc.so.7
fun:fopen
}
{
HELGRIND-LIBC-FOPEN2
Helgrind:Race
fun:fopen
obj:*/lib*/libc.so.7
}
{
HELGRIND-LIBC-FGETS
Helgrind:Race
obj:*/lib*/libc.so.7
...
fun:fgets
}
{
HELGRIND-LIBC-FCLOSE
Helgrind:Race
obj:*/lib*/libc.so.7
fun:fclose
}
{
HELGRIND-LIBC-RES-STATE
Helgrind:Race
fun:__res_state
obj:*/lib*/libc.so.7
}
{
HELGRIND-LIBC-ERRNO-SET
Helgrind:Race
fun:__h_errno_set
...
obj:*/lib*/libc.so.7
}
{
HELGRIND-LIBC-LOCALECONV-L
Helgrind:Race
fun:localeconv_l
obj:*/lib*/libc.so.7
}
{
HELGRIND-LIBC-VSPRINTF
Helgrind:Race
obj:*/lib*/libc.so.7
fun:vsprintf
}
{
HELGRIND-LIBC-GETADDRINFO
Helgrind:Race
...
fun:getaddrinfo
}
{
FREEBSD15-LIB*-_UMTX_OP_ERR
Helgrind:Race
fun:_umtx_op_err
}
{
FREEBSD14-LIBSTDC++-STD::MUTEX::LOCK
Helgrind:Race
fun:_ZL18__gthread_active_pv
}
{
FREEBSD14-ARM64-_EXIT
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
}