diff options
author | Manoj Gupta <manojgupta@google.com> | 2021-12-06 11:46:42 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-12-14 16:53:07 +0000 |
commit | ed2aa295b315c2d2570e942e6a056c45028f39b4 (patch) | |
tree | 58589e5c4f2bee3dd20c2c1652a7b393bc21bdd2 /compiler_wrapper | |
parent | e8d03f7ea49a9ee46d672ed9ad3582ab591fd9f1 (diff) | |
download | toolchain-utils-ed2aa295b315c2d2570e942e6a056c45028f39b4.tar.gz |
compiler_wrapper: Drop "-fno-experimental-pass-manager"
new pass manager is already default in upstream llvm and
fixes have been made to broken features.
So stop using the old pass manager with sanitizers.
BUG=b:210661138
TEST=CQ
Change-Id: Ia73f6c89a095a5cac4d8d175afd6ff18edd200a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3319340
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Reviewed-by: Christopher Di Bella <cjdb@google.com>
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Diffstat (limited to 'compiler_wrapper')
5 files changed, 0 insertions, 75 deletions
diff --git a/compiler_wrapper/sanitizer_flags.go b/compiler_wrapper/sanitizer_flags.go index abb385a8..da0a64b3 100644 --- a/compiler_wrapper/sanitizer_flags.go +++ b/compiler_wrapper/sanitizer_flags.go @@ -9,20 +9,13 @@ import ( ) func processSanitizerFlags(builder *commandBuilder) { - hasCoverageFlags := false hasSanitizeFlags := false - hasSanitizeFuzzerFlags := false for _, arg := range builder.args { // TODO: This should probably be -fsanitize= to not match on // e.g. -fsanitize-blocklist if arg.fromUser { if strings.HasPrefix(arg.value, "-fsanitize") { hasSanitizeFlags = true - if strings.Contains(arg.value, "fuzzer") { - hasSanitizeFuzzerFlags = true - } - } else if arg.value == "-fprofile-instr-generate" { - hasCoverageFlags = true } } } @@ -44,15 +37,5 @@ func processSanitizerFlags(builder *commandBuilder) { } return arg.value }) - if builder.target.compilerType == clangType { - // hasSanitizeFlags && hasCoverageFlags is to work around crbug.com/1013622 - if hasSanitizeFuzzerFlags || (hasSanitizeFlags && hasCoverageFlags) { - fuzzerFlagsToAdd := []string{ - // TODO: This flag should be removed once fuzzer works with new pass manager - "-fno-experimental-new-pass-manager", - } - builder.addPreUserArgs(fuzzerFlagsToAdd...) - } - } } } diff --git a/compiler_wrapper/sanitizer_flags_test.go b/compiler_wrapper/sanitizer_flags_test.go index 8f50a900..a401d58e 100644 --- a/compiler_wrapper/sanitizer_flags_test.go +++ b/compiler_wrapper/sanitizer_flags_test.go @@ -98,55 +98,3 @@ func TestKeepSanitizerFlagsIfSanitizeGivenInCommonFlags(t *testing.T) { } }) } - -func TestAddFuzzerFlagsForClang(t *testing.T) { - withTestContext(t, func(ctx *testContext) { - cmd := ctx.must(callCompiler(ctx, ctx.cfg, - ctx.newCommand(clangX86_64, "-fsanitize=fuzzer", mainCc))) - if err := verifyArgOrder(cmd, "-fno-experimental-new-pass-manager", - "-fsanitize=fuzzer", mainCc); err != nil { - t.Error(err) - } - }) -} - -func TestOmitFuzzerFlagsForGcc(t *testing.T) { - withTestContext(t, func(ctx *testContext) { - cmd := ctx.must(callCompiler(ctx, ctx.cfg, - ctx.newCommand(gccX86_64, "-fsanitize=fuzzer", mainCc))) - if err := verifyArgCount(cmd, 0, "-fno-experimental-new-pass-manager"); err != nil { - t.Error(err) - } - }) -} - -func TestAddSanitizerCoverageFlagsForClang(t *testing.T) { - withTestContext(t, func(ctx *testContext) { - cmd := ctx.must(callCompiler(ctx, ctx.cfg, - ctx.newCommand(clangX86_64, "-fsanitize=address", "-fprofile-instr-generate", mainCc))) - if err := verifyArgOrder(cmd, "-fno-experimental-new-pass-manager", - "-fsanitize=address", "-fprofile-instr-generate", mainCc); err != nil { - t.Error(err) - } - }) -} - -func TestOmitSanitizerCoverageFlagsForClang(t *testing.T) { - withTestContext(t, func(ctx *testContext) { - cmd := ctx.must(callCompiler(ctx, ctx.cfg, - ctx.newCommand(clangX86_64, "-fsanitize=address", mainCc))) - if err := verifyArgCount(cmd, 0, "-fno-experimental-new-pass-manager"); err != nil { - t.Error(err) - } - }) -} - -func TestKeepSanitizerCoverageFlagsForClang(t *testing.T) { - withTestContext(t, func(ctx *testContext) { - cmd := ctx.must(callCompiler(ctx, ctx.cfg, - ctx.newCommand(clangX86_64, "-fprofile-instr-generate", mainCc))) - if err := verifyArgCount(cmd, 0, "-fno-experimental-new-pass-manager"); err != nil { - t.Error(err) - } - }) -} diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json index cc64bad9..b8b28cd9 100644 --- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json +++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json @@ -206,7 +206,6 @@ "-Wno-deprecated-declarations", "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics", "-fcommon", - "-fno-experimental-new-pass-manager", "-fsanitize=fuzzer", "main.cc", "-Wno-implicit-int-float-conversion", @@ -251,7 +250,6 @@ "-Wno-deprecated-declarations", "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics", "-fcommon", - "-fno-experimental-new-pass-manager", "-fsanitize=address", "-fprofile-instr-generate", "main.cc", diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json index 948c19b2..b71a8805 100644 --- a/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json +++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json @@ -290,7 +290,6 @@ "-pie", "-fno-omit-frame-pointer", "-static-libgcc", - "-fno-experimental-new-pass-manager", "--prefix=../../bin/x86_64-cros-linux-gnu-", "-fsanitize=fuzzer", "main.cc", @@ -354,7 +353,6 @@ "-pie", "-fno-omit-frame-pointer", "-static-libgcc", - "-fno-experimental-new-pass-manager", "--prefix=../../bin/x86_64-cros-linux-gnu-", "-fsanitize=address", "-fprofile-instr-generate", diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json index f6c9f7cb..3e140d59 100644 --- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json +++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json @@ -250,7 +250,6 @@ "-Wno-deprecated-declarations", "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics", "-static-libgcc", - "-fno-experimental-new-pass-manager", "--prefix=../../bin/x86_64-cros-linux-gnu-", "-fsanitize=fuzzer", "main.cc", @@ -306,7 +305,6 @@ "-Wno-deprecated-declarations", "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics", "-static-libgcc", - "-fno-experimental-new-pass-manager", "--prefix=../../bin/x86_64-cros-linux-gnu-", "-fsanitize=address", "-fprofile-instr-generate", |