@@ -61,32 +61,44 @@ build:macos --host_action_env=CC=/opt/homebrew/opt/llvm/bin/clang
6161# Windows specific asan setup
6262# common:asanwin --copt -fsanitize=address,bool,float-cast-overflow,integer-divide-by-zero,null,return,returns-nonnull-attribute,shift-exponent,signed-integer-overflow,unreachable,vla-bound
6363#common:asanwin --copt -fsanitize=address,bool,float-cast-overflow,integer-divide-by-zero,null,return,returns-nonnull-attribute,shift-exponent,unreachable,vla-bound
64- common:asanwin --copt -fsanitize=address,undefined
64+ # vptr is not support for "clang-cl"
65+ common:asanwin --copt -fsanitize=address,undefined,implicit-integer-truncation,implicit-integer-arithmetic-value-change,implicit-conversion,integer,nullability,float-divide-by-zero,local-bounds
6566common:asanwin --copt -fno-sanitize-ignorelist --copt -MD
6667#alignment,bool,builtin,bounds,array-bounds,enum,float-cast-overflow,integer-divide-by-zero,function,implicit-unsigned-integer-truncation,implicit-signed-integer-truncation,implicit-integer-sign-change,null,return,returns-nonnull-attribute,shift-exponent,unreachable,vla-bound
6768common:asanwin --copt -fsanitize-address-use-after-scope
6869common:asanwin --copt -fsanitize-address-globals-dead-stripping
6970common:asanwin --copt -fsanitize-address-outline-instrumentation
7071common:asanwin --copt -fsanitize-address-use-after-return=always
7172common:asanwin --copt -fsanitize-stable-abi
72- common:asanwin --copt -fsanitize-merge
73+ common:asanwin --copt -fno-sanitize-merge
74+ common:asanwin --copt -fsanitize-recover=all
75+
76+ # Gives:
77+ # lld-link: error: /alternatename: conflicts: __sanitizer_on_print=__sanitizer_on_print__def
78+ # Use --verbose_failures to see the command lines of failed build steps.
79+ # common:asanwin --copt -fsanitize-stats
80+
81+ # Gives:
82+ # lld-link: error: duplicate symbol: __cfi_check_fail
83+ # >>> defined at runfiles.lib(runfiles.obj)
84+ # common:asanwin --copt -fsanitize-cfi-cross-dso
85+
86+ # Gives multiple, like
87+ # lld-link: error: duplicate symbol: __odr_asan_gen_??_R0?AVios_base@std@@@8
88+ # >>> defined at runfiles.lib(runfiles.obj)
7389# common:asanwin --copt -fsanitize-address-use-odr-indicator
74- # common:asanwin --test_env="ASAN_OPTIONS=report_globals=0:detect_odr_violation=0:verbosity=1:debug=1:strict_init_order=1:check_initialization_order=1:detect_stack_use_after_return=1:print_stats=1:verbosity=2:atexit=1:alloc_dealloc_mismatch=1:strict_string_checks=1:use_odr_indicator=1:halt_on_error=0:malloc_context_size=0"
75- # common:asanwin --test_env=ASAN_OPTIONS="help"
90+
91+ # https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/asan/asan_flags.inc
92+ common:asanwin --test_env="ASAN_OPTIONS=report_globals=0:detect_odr_violation=0:verbosity=1:debug=1:strict_init_order=1:check_initialization_order=1:detect_stack_use_after_return=1:print_stats=1:verbosity=2:atexit=1:alloc_dealloc_mismatch=1:strict_string_checks=1:halt_on_error=0:malloc_context_size=0:windows_hook_rtl_allocators=1:print_scariness=1"
93+
94+ # https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/ubsan/ubsan_flags.inc
95+ common:asanwin --test_env="UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1"
96+ # common:asanwin --test_env="ASAN_OPTIONS=help=1"
7697common:asanwin --cc_output_directory_tag=asanwin
7798common:asanwin --@otel_sdk//:asanwin=true
78- # common:asanwin --copt -fno-sanitize-cfi-canonical-jump-tables
79- # common:asanwin --copt -fno-sanitize-cfi-cross-dso
99+ test:asanwin --test_timeout=3600
80100# common:asanwin -fno-sanitize-coverage=<value>
81- # common:asanwin --copt -fno-sanitize-hwaddress-experimental-aliasing
82- # common:asanwin --copt -fno-sanitize-memory-param-retval
83- # common:asanwin --copt -fno-sanitize-memory-track-origins
84- # common:asanwin --copt -fno-sanitize-memory-use-after-dtor
85101# common:asanwin -fno-sanitize-recover=<value>
86- # common:asanwin -fno-sanitize-stats
87- # common:asanwin --copt -fno-sanitize-thread-atomics
88- # common:asanwin --copt -fno-sanitize-thread-func-entry-exit
89- # common:asanwin --copt -fno-sanitize-thread-memory-access
90102
91103common:asan --copt -DADDRESS_SANITIZER
92104common:asan --copt -fsanitize=address,bool,float-cast-overflow,integer-divide-by-zero,null,return,returns-nonnull-attribute,shift-exponent,signed-integer-overflow,unreachable,vla-bound
0 commit comments