-
Milian Wolff authored
Apparently LLVM's internal sigaltstack usage does not play well together with the sanitizers, see [1]. This leads to failed tests on our CI. Setting use_sigaltstack=0 as an ASAN_OPTION fixes this issue, which this patch here does. Sadly, we have to jump through some hoops to achieve this though. On one hand, we want to extend the ASAN_OPTIONS, not overwrite it. As such, we can't just set the ctest ENVIRONMENT property, as the CI sets a bunch of custom flags in the ASAN_OPTIONS env var. Users might have their own set of values there too. Once we can rely on CMake 3.22 or newer, we might use ENVIRONMENT_MODIFICATION. Furthermore, I could not get __asan_default_options() to work with GCC. So, instead for now we use some dirty hackery: We check whether the use_sigaltstack option is set in ASAN_OPTIONS. If not, we set it explicitly to 0 and then execve the test anew. This way we can be sure that the environment gets picked up properly. [1]: https://githu...
e306f3e3