diff --git a/compiler-rt/test/asan/lit.cfg.py b/compiler-rt/test/asan/lit.cfg.py --- a/compiler-rt/test/asan/lit.cfg.py +++ b/compiler-rt/test/asan/lit.cfg.py @@ -237,3 +237,6 @@ if not config.parallelism_group: config.parallelism_group = 'shadow-memory' + +if config.host_os == 'NetBSD': + config.substitutions.insert(0, ('%run', config.netbsd_noaslr_prefix)) diff --git a/compiler-rt/test/lit.common.cfg.py b/compiler-rt/test/lit.common.cfg.py --- a/compiler-rt/test/lit.common.cfg.py +++ b/compiler-rt/test/lit.common.cfg.py @@ -498,3 +498,9 @@ config.clang = " " + " ".join(run_wrapper + [config.compile_wrapper, config.clang]) + " " config.target_cflags = " " + " ".join(target_cflags + extra_cflags) + " " + +if config.host_os == 'NetBSD': + nb_commands_dir = os.path.join(config.compiler_rt_src_root, + "test", "sanitizer_common", "netbsd_commands") + config.netbsd_noaslr_prefix = ('sh ' + + os.path.join(nb_commands_dir, 'run_noaslr.sh')) diff --git a/compiler-rt/test/msan/lit.cfg.py b/compiler-rt/test/msan/lit.cfg.py --- a/compiler-rt/test/msan/lit.cfg.py +++ b/compiler-rt/test/msan/lit.cfg.py @@ -45,3 +45,6 @@ config.substitutions.append( ('CHECK-%short-stack', 'CHECK-SHORT-STACK')) else: config.substitutions.append( ('CHECK-%short-stack', 'CHECK-FULL-STACK')) + +if config.host_os == 'NetBSD': + config.substitutions.insert(0, ('%run', config.netbsd_noaslr_prefix)) diff --git a/compiler-rt/test/sanitizer_common/lit.common.cfg.py b/compiler-rt/test/sanitizer_common/lit.common.cfg.py --- a/compiler-rt/test/sanitizer_common/lit.common.cfg.py +++ b/compiler-rt/test/sanitizer_common/lit.common.cfg.py @@ -73,3 +73,6 @@ if not config.parallelism_group: config.parallelism_group = 'shadow-memory' + +if config.host_os == 'NetBSD': + config.substitutions.insert(0, ('%run', config.netbsd_noaslr_prefix)) diff --git a/compiler-rt/test/sanitizer_common/netbsd_commands/run_noaslr.sh b/compiler-rt/test/sanitizer_common/netbsd_commands/run_noaslr.sh new file mode 100644 --- /dev/null +++ b/compiler-rt/test/sanitizer_common/netbsd_commands/run_noaslr.sh @@ -0,0 +1,3 @@ +#!/bin/sh +/usr/sbin/paxctl +a "${1}" +exec "${@}" diff --git a/compiler-rt/test/tsan/lit.cfg.py b/compiler-rt/test/tsan/lit.cfg.py --- a/compiler-rt/test/tsan/lit.cfg.py +++ b/compiler-rt/test/tsan/lit.cfg.py @@ -88,3 +88,6 @@ if not config.parallelism_group: config.parallelism_group = 'shadow-memory' + +if config.host_os == 'NetBSD': + config.substitutions.insert(0, ('%run', config.netbsd_noaslr_prefix))