]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Illumos helgrind: redir, filter and suppresions
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sun, 6 Apr 2025 18:47:39 +0000 (20:47 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sun, 6 Apr 2025 18:47:39 +0000 (20:47 +0200)
Add a redir for sem_timedwait (Solaris redirects sema_timedwait
which seems to have been replaced on Illumos).

Filter the arena size for the free_is_write test

Use the Illumos expected for gone_abrt_xml

Add Helgrind suppressions for printf, pthread_barrier_init and
pthread_barrier_destroy.

helgrind/hg_intercepts.c
helgrind/tests/filter_stderr_solaris
memcheck/tests/gone_abrt_xml.stderr.exp-solaris
solaris11.supp

index 54711d8f26517b66fa641dca3dcd7a32b420f35b..d41cb66048f1754d363eddb65492970c6884cbf9 100644 (file)
@@ -3402,6 +3402,11 @@ LIBC_FUNC(int, semZutimedwait, sem_t* sem, const struct timespec* abs_timeout) {
 PTH_FUNC(int, semaZutimedwait, sem_t *sem, const struct timespec* abs_timeout) { /* sema_timedwait */
    return sem_timedwait_WRK(sem, abs_timeout);
 }
+#if defined(__illumos__)
+PTH_FUNC(int, semZutimedwait, sem_t *sem, const struct timespec* abs_timeout) { /* sem_timedwait */
+   return sem_timedwait_WRK(sem, abs_timeout);
+}
+#endif
 #else
 #  error "Unsupported OS"
 #endif
index 56ecfb3fb0311be988e06e6e28e7880917a46f4c..b82dde943fd3fa2bfb6f46bdc9e1480cec048c75 100755 (executable)
@@ -33,3 +33,9 @@ my $check = join "|", keys %regex;
 if (! /: pthread_/ && ! /WRK/) {
     s/($check)(.*hg_intercepts.c)/$regex{$1}$2/g;
 }
+
+# this is for free_is_write on Illumos
+# on other platforms a 10 byte alloc results in a 16 byte arena
+# on Illumos there are many other allocations resulting in a
+# 4Mbyte arena
+s/4,194,208 in arena/16 in arena/;
index db2109f4df3cdab7e6f726e0f3f571aef603e38e..a6c88df27e36e1f92daa468437f707f3984e6c3a 100644 (file)
@@ -37,6 +37,11 @@ aborting ...
   <signame>SIGABRT</signame>
   <sicode>0</sicode>
   <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>_start_crt</fn>
+    </frame>
     <frame>
       <ip>0x........</ip>
       <obj>...</obj>
index e3ef0b7843c816dedbd2d1029e631166465e2537..c772df3955c51a410f085cf06dda1654feaeb464 100644 (file)
    fun:gomp_team_start
    fun:GOMP_parallel
 }
+# conflict between printf and _setorientation on data symbol "_iob"
+{
+   Illumos:printf
+   Helgrind:Race
+   fun:printf
+}
+# conflict between pthread_barrier_init and pthread_barrier_wait
+{
+   Illumos:pthread_barrier_init
+   Helgrind:Race
+   fun:pthread_barrier_init
+}
+# conflict between pthread_barrier_destroy and pthread_barrier_wait
+{
+   Illumos:pthread_barrier_destroy
+   Helgrind:Race
+   fun:memset
+   fun:pthread_barrier_destroy
+   fun:pthread_barrier_destroy
+}