diff --git a/cc/sanitize.go b/cc/sanitize.go index 729771839..e6df44f3c 100644 --- a/cc/sanitize.go +++ b/cc/sanitize.go @@ -50,12 +50,7 @@ var ( intOverflowCflags = []string{"-fsanitize-blacklist=build/soong/cc/config/integer_overflow_blacklist.txt"} - // Pass -Xclang before -fsanitize-minimal-runtime to work around a driver - // check which rejects -fsanitize-minimal-runtime together with - // -fsanitize=shadow-call-stack even though this combination of flags - // is valid. - // TODO(pcc): Remove the -Xclang once LLVM r346526 is rolled into the compiler. - minimalRuntimeFlags = []string{"-Xclang", "-fsanitize-minimal-runtime", "-fno-sanitize-trap=integer,undefined", + minimalRuntimeFlags = []string{"-fsanitize-minimal-runtime", "-fno-sanitize-trap=integer,undefined", "-fno-sanitize-recover=integer,undefined"} hwasanGlobalOptions = []string{"heap_history_size=1023,stack_history_size=512"} ) @@ -312,10 +307,7 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) { } // SCS is only implemented on AArch64. - // We also disable SCS if ASAN, TSAN or HWASAN are enabled because Clang considers - // them to be incompatible, although they are in fact compatible. - // TODO(pcc): Remove these checks once r347282 is rolled into the compiler. - if ctx.Arch().ArchType != android.Arm64 || Bool(s.Address) || Bool(s.Thread) || Bool(s.Hwaddress) { + if ctx.Arch().ArchType != android.Arm64 { s.Scs = nil }