From beccc0293b6efc670ed24736366559d59f60ac32 Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Fri, 2 Jun 2023 10:34:44 -0700 Subject: [PATCH 1/5] Re-enable asan testing --- master/master.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/master/master.cfg b/master/master.cfg index 524228fd..d0736aa5 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -154,7 +154,7 @@ c['workers'] = [Worker(n, properties={'WORKER_BUILD_PARALLELISM': cfg.j}) for n, cfg in _WORKERS] _SANITIZERS = [ - # 'asan', # TODO: weird error about precompiled header file + 'asan', # TODO: weird error about precompiled header file 'fuzzer', # this isn't *technically* a sanitizer, but is close enough that it's a good fit ] From 77dc2b3fce9ca2bba3cf6389bc70233c866fd8e5 Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Fri, 2 Jun 2023 10:52:34 -0700 Subject: [PATCH 2/5] Add ASAN_SYMBOLIZER_PATH --- master/master.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/master/master.cfg b/master/master.cfg index d0736aa5..2242e417 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -805,6 +805,8 @@ def add_env_setup_step(factory, builder_type, enable_ccache=False): 'CC': cc, 'CXX': cxx, 'LD': ld, + # Only needed for ASAN builds, but easier to just always specify + 'ASAN_SYMBOLIZER_PATH': get_llvm_install_path(builder_type, 'bin/llvm-symbolizer') } # TODO: HALIDE_NODE_JS_PATH is only necessary until EMSDK updates their built-in version of Node From 60d137e9134c427d4ebf73b6f27e7d5e80ebc495 Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Fri, 2 Jun 2023 10:55:56 -0700 Subject: [PATCH 3/5] Update master.cfg --- master/master.cfg | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/master/master.cfg b/master/master.cfg index 2242e417..abc2c9ef 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -959,14 +959,19 @@ def add_halide_cmake_build_steps(factory, builder_type): definitions=get_halide_cmake_definitions(builder_type), options=get_halide_cmake_options(builder_type, build_dir))) - factory.addStep( - ShellCommand(name='Build Halide', - description='Build Halide', - locks=[performance_lock.access('counting')], - haltOnFailure=True, - workdir=build_dir, - env=Property('env'), - command=get_cmake_build_command(builder_type, build_dir, targets=['all', 'install']))) + # Don't do this initial build: + # We always follow this with a call to add_halide_cmake_test_steps(), + # which will reconfigure CMake and rebuild. For most targets, the extra + # build is close to a no-op (building for `host` again), but for Sanitizer + # builds, it's just wasted effort. + # factory.addStep( + # ShellCommand(name='Build Halide', + # description='Build Halide', + # locks=[performance_lock.access('counting')], + # haltOnFailure=True, + # workdir=build_dir, + # env=Property('env'), + # command=get_cmake_build_command(builder_type, build_dir, targets=['all', 'install']))) def add_halide_cmake_package_steps(factory, builder_type): From 7fe2e2b4ef355c5920330f8e77b424a8a6a5382c Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Fri, 2 Jun 2023 11:39:46 -0700 Subject: [PATCH 4/5] Update master.cfg --- master/master.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/master/master.cfg b/master/master.cfg index abc2c9ef..0c98d453 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -706,7 +706,7 @@ def get_llvm_cmake_definitions(builder_type): 'LLVM_ENABLE_OCAMLDOC': 'OFF', 'LLVM_ENABLE_RTTI': 'ON', 'LLVM_ENABLE_TERMINFO': 'OFF', - 'LLVM_ENABLE_WARNINGS': 'ON', # silence them, it's not like we're gonna fix them + 'LLVM_ENABLE_WARNINGS': 'OFF', # silence them, it's not like we're gonna fix them 'LLVM_ENABLE_ZLIB': 'ON', 'LLVM_ENABLE_ZSTD': 'OFF', 'LLVM_INCLUDE_BENCHMARKS': 'OFF', From ba7916fd8e5612eec3e5952bf12e3afb1e2ee514 Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Fri, 23 Jun 2023 13:42:51 -0700 Subject: [PATCH 5/5] Update master.cfg --- master/master.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/master/master.cfg b/master/master.cfg index 5325ca0c..a10cd082 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -158,7 +158,7 @@ c['workers'] = [Worker(n, properties={'WORKER_BUILD_PARALLELISM': cfg.j}) for n, cfg in _WORKERS] _SANITIZERS = [ - 'asan', # TODO: weird error about precompiled header file + 'asan', 'fuzzer', # this isn't *technically* a sanitizer, but is close enough that it's a good fit ]