On Solaris, calling execve with -1 as a first argument causes segfault. Not intended for upstream. --- valgrind-3.22.0/none/tests/execve.c 2023-10-31 18:25:52.000000000 +0100 +++ valgrind-3.22.0/none/tests/execve.c.new 2023-12-26 17:42:45.810898858 +0100 @@ -28,8 +28,11 @@ doesn't actually exists, so execve doesn't accidentally succeeds. */ if (execve("/%/", NULL, NULL) >= 0) printf ("WHAT?"); +#if !defined(VGO_solaris) + /* On Solaris, execve segfaults when -1 is given as an argument. */ if (execve("/%/", (void *)-1, NULL) >= 0) printf ("WHAT?"); +#endif if (execve("/%/", v_null, NULL) >= 0) printf ("WHAT?"); if (execve("/%/", v_null, v_null) >= 0)