The threadname tests fail on Illumos. Solaris has a syscall,
sys_lwp_name, which we intercept and record. Illumos doesn't
have that, with the pthread name functions looking ofr the name in /proc
That's not implemented in Valgrind so I'm turning those 2 tests off.
The other 3 are all based on none faultstatus. This test checks 4 things,
one of which is reading from a 32k mmap that is PRIVATE and READ but is
only backed by a 16k file. All other OSes generate a SIGBUS. Illumos
just reads 0 from the address.
# faultstatus C code will report a failure for the signal not passed
# (i.e. SIGBUG, Test 3). Other tests will be successful, because signals
# are eventually passed.
-prereq: test -e gdb
+prereq: test -e gdb && ! ../tests/os_test illumos
prog: ../none/tests/faultstatus
vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass
stderr_filter: filter_memcheck_monitor
# test the signal handling, when signals are passed to the Valgrind guest.
-prereq: test -e gdb
+prereq: test -e gdb && ! ../tests/os_test illumos
prog: ../none/tests/faultstatus
vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass
stderr_filter: filter_memcheck_monitor
+prereq: ! ../tests/os_test illumos
prog: threadname
prereq: test -e ./threadname
vgopts: -q
+prereq: ! ../tests/os_test illumos
prog: threadname
prereq: test -e ./threadname
vgopts: --xml=yes --xml-fd=2 --log-file=/dev/null
+prereq: ! ../../tests/os_test illumos
prog: faultstatus
"darwin",
"solaris",
"freebsd",
+ "illumos",
NULL
};
#elif defined(VGO_solaris)
if ( 0 == strcmp( OS, "solaris" ) ) return True;
+ if ( 0 == strcmp( OS, "illumos" ) ) return True;
#elif defined(VGO_freebsd)
if ( 0 == strcmp( OS, "freebsd" ) ) return True;