aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper
diff options
context:
space:
mode:
authorPirama Arumuga Nainar <pirama@google.com>2020-10-21 14:13:12 -0700
committerPirama Arumuga Nainar <pirama@google.com>2020-10-21 14:13:12 -0700
commit1e576757bc040ab78407dea41218ed640277fc11 (patch)
tree073e9e403bc6e2290b2b5b005a5cfdabadde1e42 /compiler_wrapper
parent740c99ffa8d6b5197e1bd99af4863a7ac810f8a0 (diff)
parentefb75cffd4a6bf629a4a374f2c1039dc37750dca (diff)
downloadtoolchain-utils-1e576757bc040ab78407dea41218ed640277fc11.tar.gz
Merging 84 commit(s) from Chromium's toolchain-utils
Merged commit digest: efb75cf Handle clangPostFlags for Android 356e7cf afdo_metadata: Publish the new kernel profiles 8373fd4 Revert "compiler_wrapper: enable -mharden-sls=all on aarch64" 5672f28 crosperf: refactor chrome src search aac9c23 toolchain_utils: replace gsutil with gsutil.py 2159420 llvm_tools: add exist_ok=True to state dir creation fd598ff rust_uprev: emerge rust instead of ebuilding it 8ecb53f rust_uprev: emerge arm-none-eabi-gcc & do it in parallel 6868239 rust_uprev: check for files in gs:// before downloading them a874714 rust_uprev: support -rN ebuilds 7624e2d llvm_tools: use gsutil.py instead of gsutil 44e5787 rust_tools: Fix the tool using real Rust uprev experiences. fff1c26 afdo_metadata: Publish the new kernel profiles 6d9e457 llvm_tools: add a lexan crash autouploader 92d7005 toolchain-utils: create pending_archives if needed d8187c7 toolchain-utils: Sync compiler wrapper changes with llvm changes. d184b9a crosperf: Update path search for chrome sources b9a4299 llvm_tools: abandon CLs after completing LLVM bisection. fb8fd5b compiler_wrapper: enable -mharden-sls=all on aarch64 089db67 llvm_tools: refactor LLVM bisection tool ab646e1 afdo_metadata: Update kernel AFDO profiles 8223d16 fix formatting/lint issues pointed out by repohooks 4f7eb71 rephrase some language in code and comments 8a9125c toolchain-utils: Update compiler wrapper to disable warning. e2cbc18 add unblocked_terms.txt to automatically check language 780b6e4 llvm_tools: add a script to fetch uploaded versions of LLVM 9ba2a4f compiler_wrapper: search compiler executable in $PATH 7b73dcd crosperf: Add verification of per-process profiles 18422a4 bisection: exit after updating kernel 4edc81e crosperf: Add support to run tests with ssh forwarding 38df970 toolchain-utils: Update README.md for llvm_tools. 563cdd9 llvm_tools: save intermediate state even if a step fails c1e7b46 llvm_tools: tweak script verbosity 29a3f18 afdo_metadata: Publish the new kernel profiles. 2e734a5 crosperf: replace statistics stdev with pstdev 5d21b27 afdo_metadata: Publish the new kernel profiles eaed177 afdo_tools: Update update_kernel_afdo to check previous branch 4d7093d cros_utils: clean up naming 98de93b afdo_metadata: Publish the new kernel profiles 40733c3 rust_tools: Provide a big hammer to do everything to uprev Rust 243ce37 compiler_wrapper: remove some flags from unsupport clang flags 20f7df6 crosperf: remove uses of numpy 7c7161d rust_tools: Refactor to create and remove Rust versions independently 59defeb afdo_metadata: Publish the new kernel profiles 0b767f9 pgo_tools: Add a monitor for LLVM PGO profile freshness 3dac9fa rust_tools: Add a tool to automatically generate a Rust uprev 1713d25 compiler_wrapper: use crashArtifactsDir to apply clang opts 0a377f4 compiler_wrapper: dump tricium clang-tidy crash information 2953a41 Update cleanup script to get chrome temp files too. 811b580 Update cleanup script to get chrome temp files too. 9f99023 afdo_metadata: Publish the new kernel profiles. 9726f50 llvm_tools: add a tool to bisect clang crashes f30ddd4 default_remotes: Update toolchain DUT names d1a9a25 compiler_wrapper: add -fexperimental-new-pass-manager e1db855 llvm_tools: clarify that syncing all of llvm is only done once 0869ed0 llvm_tools: check for uncommited changes before cherry-picks d81dc93 afdo_tools: Update script to sort profiles by timestamp 9259683 afdo_metadata: Update kernel AFDO profiles 4f29d44 llvm_tools: remove future import e8ef273 compiler_wrapper: Updated instructions for updating the wrapper 120da3f rust_tools: add a monitor for upstream gentoo commits + rust releases cb46500 compiler_wrapper: add -clang-tidy-flag support 6c2e5c4 afdo_metadata: Publish the new kernel profiles 7b9d2ba Put reference filters on 'git ls-remote'. 916add2 compiler_wrapper: rename update_compiler_wrapper.sh 94fd622 compiler_wrapper: remove -grecord-gcc-switches 6cfbb3d afdo_metadata: Update kernel AFDO profiles 8caccf6 afdo_metadata: Update kernel AFDO profiles edc59f7 presubmits: respect CHROMEOS_ROOT_DIRECTORY when entering the chroot d6f4dfa presubmits: add types to check-presubmit.py. cab4264 Update AFDO kernel profiles. f226ba1 Update owners file fab4f3c cros_util: fix up naming 8078daa cros_utils: clean up unused file/code dc996b9 compiler_wrapper: redirect clang crash dignoses 0c1730a debug_info_test: fix up naming ad5e320 debug_info_test: replace whitelist with allowlist 536aff5 llvm_tools: fix up naming efb96d1 android_merge_from_upstream: fix up naming 74a6b09 afdo_tools: add update_kernel_afdo script 163efaa wrapper: add support for Tricium clang-tidy 5cbe70b afdo_metadata: Publish the new kernel profiles 647df11 crosperf: Save cpuinfo and top logs 83785c3 wrapper: fork() before exec()ing Change-Id: Ib885bb07621423f91584f6a4fd02fe998bf45141
Diffstat (limited to 'compiler_wrapper')
-rw-r--r--compiler_wrapper/README.md53
-rw-r--r--compiler_wrapper/bisect_flag.go3
-rw-r--r--compiler_wrapper/clang_flags.go10
-rw-r--r--compiler_wrapper/clang_flags_test.go8
-rw-r--r--compiler_wrapper/clang_tidy_flag.go215
-rw-r--r--compiler_wrapper/clang_tidy_flag_test.go170
-rw-r--r--compiler_wrapper/compiler_wrapper.go73
-rw-r--r--compiler_wrapper/config.go44
-rw-r--r--compiler_wrapper/cros_llvm_next_flags.go9
-rwxr-xr-xcompiler_wrapper/install_compiler_wrapper.sh (renamed from compiler_wrapper/update_compiler_wrapper.sh)0
-rw-r--r--compiler_wrapper/libc_exec.go22
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/bisect.json9
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json27
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_host_wrapper.json3
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json27
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json36
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json24
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json29
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json24
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json15
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/bisect.json12
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json30
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json30
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_path.json48
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json32
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json36
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json23
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json32
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json20
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json16
-rw-r--r--compiler_wrapper/testdata/cros_hardened_llvmnext_golden/bisect.json21
-rw-r--r--compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clang_path.json84
-rw-r--r--compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clangtidy.json56
-rw-r--r--compiler_wrapper/testdata/cros_hardened_llvmnext_golden/force_disable_werror.json35
-rw-r--r--compiler_wrapper/testdata/cros_hardened_llvmnext_golden/gcc_clang_syntax.json28
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json12
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json48
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json32
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json20
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json16
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json9
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json21
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json21
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json36
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json24
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json29
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json17
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json24
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json15
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json12
-rw-r--r--compiler_wrapper/testutil_test.go2
51 files changed, 1348 insertions, 294 deletions
diff --git a/compiler_wrapper/README.md b/compiler_wrapper/README.md
index 794e1635..e55bb669 100644
--- a/compiler_wrapper/README.md
+++ b/compiler_wrapper/README.md
@@ -12,16 +12,63 @@ package, including the build script, and then
build from there without a dependency on toolchain-utils
itself.
-## Update Chrome OS
+## Testing Inside the Chroot
-Copy over sources and `build.py` to Chrome OS:
+To test updates to the wrapper locally:
+
+Run `install_compiler_wrapper.sh` to install the new wrapper in the chroot:
+```
+(chroot) ~/trunk/src/third_party/toolchain-utils/compiler_wrapper/install_compiler_wrapper.sh
+```
+
+Then perform the tests, e.g. build with the new compiler.
+
+
+## Updating the Wrapper for Chrome OS
+
+To update the wrapper for everyone, the new wrapper configuration must be copied
+into chromiumos-overlay, and new revisions of the gcc and llvm ebuilds must be
+created.
+
+Copy over sources and `build.py` to chromiumos-overlay:
```
(chroot) /mnt/host/source/src/third_party/chromiumos-overlay/sys-devel/llvm/files/update_compiler_wrapper.sh
```
+Rename chromiumos-overlay/sys-devel/llvm/llvm-${VERSION}.ebuild to the next
+revision number. For example, if the current version is
+11.0_pre394483_p20200618-r2:
+```
+(chroot) cd ~/trunk/src/third_party/chromiumos-overlay
+(chroot) git mv llvm-11.0_pre394483_p20200618-r2.ebuild llvm-11.0_pre394483_p20200618-r3.ebuild
+```
+
+Rename chromiumos-overlay/sys-devel/gcc/gcc-${VERSION}.ebuild to the next
+revision number. For example, if the current version is 4.9.2-r254:
+```
+(chroot) cd ~/trunk/src/third_party/chromiumos-overlay
+(chroot) git mv sys-devel/gcc/gcc-4.9.2-r254.ebuild sys-devel/gcc/gcc-4.9.2-r255.ebuild
+```
+
+Edit the new ebuild file and change the number at the end to match the new revision:
+```
+-# If you need to force a cros_workon uprev, change this number (you can use next
+-# uprev): 254
++# If you need to force a cros_workon uprev, change this number (you can use next
++# uprev): 255
+```
+
+Commit those changes together with the changes made by
+`update_compiler_wrapper.sh`.
+
+The changes can then be reviewed and submitted through the normal process.
+
+
+## Paths
+
`build.py` is called by these ebuilds:
-- third_party/chromiumos-overlay/sys-devel/llvm/llvm-9.0_pre361749_p20190714.ebuild
+- third_party/chromiumos-overlay/sys-devel/llvm/llvm-*.ebuild
- third_party/chromiumos-overlay/sys-devel/gcc/gcc-*.ebuild
Generated wrappers are stored here:
diff --git a/compiler_wrapper/bisect_flag.go b/compiler_wrapper/bisect_flag.go
index f07d9a63..adfa8b03 100644
--- a/compiler_wrapper/bisect_flag.go
+++ b/compiler_wrapper/bisect_flag.go
@@ -7,6 +7,7 @@ package main
import (
"errors"
"os"
+ "os/exec"
"path/filepath"
)
@@ -52,7 +53,7 @@ func calcBisectCommand(env env, cfg *config, bisectStage string, compilerCmd *co
}
}
absCompilerPath := getAbsCmdPath(env, compilerCmd)
- pythonPath, err := filepath.Abs(os.Args[0])
+ pythonPath, err := exec.LookPath(os.Args[0])
if err != nil {
return nil, err
}
diff --git a/compiler_wrapper/clang_flags.go b/compiler_wrapper/clang_flags.go
index 1f0e2231..9eb951de 100644
--- a/compiler_wrapper/clang_flags.go
+++ b/compiler_wrapper/clang_flags.go
@@ -47,15 +47,7 @@ func processClangFlags(builder *commandBuilder) error {
// Use of -Qunused-arguments allows this set to be small, just those
// that clang still warns about.
unsupported := map[string]bool{
- "-mno-movbe": true,
- "-pass-exit-codes": true,
- "-Wclobbered": true,
- "-Wno-psabi": true,
- "-Wlogical-op": true,
- "-Wmissing-parameter-type": true,
- "-Wold-style-declaration": true,
- "-Woverride-init": true,
- "-Wunsafe-loop-optimizations": true,
+ "-pass-exit-codes": true,
}
unsupportedPrefixes := []string{"-Wstrict-aliasing=", "-finline-limit="}
diff --git a/compiler_wrapper/clang_flags_test.go b/compiler_wrapper/clang_flags_test.go
index 2a7fbd15..a4145c22 100644
--- a/compiler_wrapper/clang_flags_test.go
+++ b/compiler_wrapper/clang_flags_test.go
@@ -212,14 +212,6 @@ func TestFilterUnsupportedClangFlags(t *testing.T) {
expectedCount int
}{
{clangX86_64, "-pass-exit-codes", 0},
- {clangX86_64, "-Wclobbered", 0},
- {clangX86_64, "-Wunsafe-loop-optimizations", 0},
- {clangX86_64, "-Wlogical-op", 0},
- {clangX86_64, "-Wmissing-parameter-type", 0},
- {clangX86_64, "-Woverride-init", 0},
- {clangX86_64, "-Wold-style-declaration", 0},
- {clangX86_64, "-Wno-psabi", 0},
- {clangX86_64, "-mno-movbe", 0},
{clangX86_64, "-Wstrict-aliasing=xyz", 0},
{clangX86_64, "-finline-limit=xyz", 0},
{"./armv7a-cros-linux-gnu-clang", "-ftrapv", 0},
diff --git a/compiler_wrapper/clang_tidy_flag.go b/compiler_wrapper/clang_tidy_flag.go
index d8bf3cb2..01387fd6 100644
--- a/compiler_wrapper/clang_tidy_flag.go
+++ b/compiler_wrapper/clang_tidy_flag.go
@@ -5,15 +5,39 @@
package main
import (
+ "encoding/json"
"fmt"
+ "io/ioutil"
+ "os"
+ "path"
"path/filepath"
"strings"
)
-func processClangTidyFlags(builder *commandBuilder) (cSrcFile string, useClangTidy bool) {
+type useTidyMode int
+
+const clangTidyCrashSubstring = "PLEASE submit a bug report"
+
+const (
+ tidyModeNone useTidyMode = iota
+ tidyModeAll
+ tidyModeTricium
+)
+
+func processClangTidyFlags(builder *commandBuilder) (cSrcFile string, clangTidyFlags []string, mode useTidyMode) {
+ builder.transformArgs(func(arg builderArg) string {
+ const prefix = "-clang-tidy-flag="
+ if !strings.HasPrefix(arg.value, prefix) {
+ return arg.value
+ }
+
+ clangTidyFlags = append(clangTidyFlags, arg.value[len(prefix):])
+ return ""
+ })
+
withTidy, _ := builder.env.getenv("WITH_TIDY")
if withTidy == "" {
- return "", false
+ return "", clangTidyFlags, tidyModeNone
}
srcFileSuffixes := []string{
".c",
@@ -24,48 +48,177 @@ func processClangTidyFlags(builder *commandBuilder) (cSrcFile string, useClangTi
".c++",
}
cSrcFile = ""
+ srcSuffix := ""
lastArg := ""
for _, arg := range builder.args {
- if hasAtLeastOneSuffix(arg.value, srcFileSuffixes) && lastArg != "-o" {
- cSrcFile = arg.value
+ if lastArg != "-o" {
+ for _, suffix := range srcFileSuffixes {
+ if strings.HasSuffix(arg.value, suffix) {
+ srcSuffix = suffix
+ cSrcFile = arg.value
+ break
+ }
+ }
}
lastArg = arg.value
}
- useClangTidy = cSrcFile != ""
- return cSrcFile, useClangTidy
-}
-func runClangTidy(env env, clangCmd *command, cSrcFile string) error {
- defaultTidyChecks := strings.Join([]string{
- "*",
- "-bugprone-narrowing-conversions",
- "-cppcoreguidelines-*",
- "-fuchsia-*",
- "-google-readability*",
- "-google-runtime-references",
- "-hicpp-*",
- "-llvm-*",
- "-misc-non-private-member-variables-in-classes",
- "-misc-unused-parameters",
- "-modernize-*",
- "-readability-*",
- }, ",")
+ if cSrcFile == "" {
+ return "", clangTidyFlags, tidyModeNone
+ }
+ if withTidy == "tricium" {
+ // Files generated from protobufs can result in _many_ clang-tidy complaints, and aren't
+ // worth linting in general. Don't.
+ if strings.HasSuffix(cSrcFile, ".pb"+srcSuffix) {
+ mode = tidyModeNone
+ } else {
+ mode = tidyModeTricium
+ }
+ } else {
+ mode = tidyModeAll
+ }
+ return cSrcFile, clangTidyFlags, mode
+}
+
+func calcClangTidyInvocation(env env, clangCmd *command, cSrcFile string, tidyFlags ...string) (*command, error) {
resourceDir, err := getClangResourceDir(env, clangCmd.Path)
if err != nil {
- return err
+ return nil, err
}
clangTidyPath := filepath.Join(filepath.Dir(clangCmd.Path), "clang-tidy")
- clangTidyCmd := &command{
- Path: clangTidyPath,
- Args: append([]string{
- "-checks=" + defaultTidyChecks,
- cSrcFile,
- "--",
- "-resource-dir=" + resourceDir,
- }, clangCmd.Args...),
+ args := append([]string{}, tidyFlags...)
+ args = append(args, cSrcFile, "--", "-resource-dir="+resourceDir)
+ args = append(args, clangCmd.Args...)
+ return &command{
+ Path: clangTidyPath,
+ Args: args,
EnvUpdates: clangCmd.EnvUpdates,
+ }, nil
+}
+
+func runClangTidyForTricium(env env, clangCmd *command, cSrcFile, fixesDir string, extraTidyFlags []string, crashArtifactsDir string) error {
+ if err := os.MkdirAll(fixesDir, 0777); err != nil {
+ return fmt.Errorf("creating fixes directory at %q: %v", fixesDir, err)
+ }
+
+ f, err := ioutil.TempFile(fixesDir, "lints-")
+ if err != nil {
+ return fmt.Errorf("making tempfile for tidy: %v", err)
+ }
+ f.Close()
+
+ // `f` is an 'anchor'; it ensures we won't create a similarly-named file in the future.
+ // Hence, we can't delete it.
+ fixesFilePath := f.Name() + ".yaml"
+ fixesMetadataPath := f.Name() + ".json"
+
+ // FIXME(gbiv): Remove `-checks=*` when testing is complete; we should defer to .clang-tidy
+ // files, which are both more expressive and more approachable than `-checks=*`.
+ extraTidyFlags = append(extraTidyFlags, "-checks=*", "--export-fixes="+fixesFilePath)
+ clangTidyCmd, err := calcClangTidyInvocation(env, clangCmd, cSrcFile, extraTidyFlags...)
+ if err != nil {
+ return fmt.Errorf("calculating tidy invocation: %v", err)
+ }
+
+ stdstreams := &strings.Builder{}
+ // Note: We pass nil as stdin as we checked before that the compiler
+ // was invoked with a source file argument.
+ exitCode, err := wrapSubprocessErrorWithSourceLoc(clangTidyCmd,
+ env.run(clangTidyCmd, nil, stdstreams, stdstreams))
+ if err != nil {
+ return err
+ }
+
+ type crashOutput struct {
+ CrashReproducerPath string `json:"crash_reproducer_path"`
+ Stdstreams string `json:"stdstreams"`
+ }
+
+ type metadata struct {
+ Args []string `json:"args"`
+ CrashOutput *crashOutput `json:"crash_output"`
+ Executable string `json:"executable"`
+ ExitCode int `json:"exit_code"`
+ LintTarget string `json:"lint_target"`
+ Stdstreams string `json:"stdstreams"`
+ Wd string `json:"wd"`
+ }
+
+ meta := &metadata{
+ Args: clangTidyCmd.Args,
+ CrashOutput: nil,
+ Executable: clangTidyCmd.Path,
+ ExitCode: exitCode,
+ LintTarget: cSrcFile,
+ Stdstreams: stdstreams.String(),
+ Wd: env.getwd(),
+ }
+
+ // Sometimes, clang-tidy crashes. Unfortunately, these don't get funnelled through the
+ // standard clang crash machinery. :(. Try to work with our own.
+ if crashArtifactsDir != "" && strings.Contains(meta.Stdstreams, clangTidyCrashSubstring) {
+ tidyCrashArtifacts := path.Join(crashArtifactsDir, "clang-tidy")
+ if err := os.MkdirAll(tidyCrashArtifacts, 0777); err != nil {
+ return fmt.Errorf("creating crash artifacts directory at %q: %v", tidyCrashArtifacts, err)
+ }
+
+ f, err := ioutil.TempFile(tidyCrashArtifacts, "crash-")
+ if err != nil {
+ return fmt.Errorf("making tempfile for crash output: %v", err)
+ }
+ f.Close()
+
+ reproCmd := &command{}
+ *reproCmd = *clangCmd
+ reproCmd.Args = append(reproCmd.Args, "-E", "-o", f.Name())
+
+ reproOut := &strings.Builder{}
+ _, err = wrapSubprocessErrorWithSourceLoc(reproCmd, env.run(reproCmd, nil, reproOut, reproOut))
+ if err != nil {
+ return fmt.Errorf("attempting to produce a clang-tidy crash reproducer: %v", err)
+ }
+ meta.CrashOutput = &crashOutput{
+ CrashReproducerPath: f.Name(),
+ Stdstreams: reproOut.String(),
+ }
+ }
+
+ f, err = os.Create(fixesMetadataPath)
+ if err != nil {
+ return fmt.Errorf("creating fixes metadata: %v", err)
+ }
+
+ if err := json.NewEncoder(f).Encode(meta); err != nil {
+ return fmt.Errorf("writing fixes metadata: %v", err)
+ }
+
+ if err := f.Close(); err != nil {
+ return fmt.Errorf("finalizing fixes metadata: %v", err)
+ }
+ return nil
+}
+
+func runClangTidy(env env, clangCmd *command, cSrcFile string, extraTidyFlags []string) error {
+ extraTidyFlags = append(extraTidyFlags,
+ "-checks="+strings.Join([]string{
+ "*",
+ "-bugprone-narrowing-conversions",
+ "-cppcoreguidelines-*",
+ "-fuchsia-*",
+ "-google-readability*",
+ "-google-runtime-references",
+ "-hicpp-*",
+ "-llvm-*",
+ "-misc-non-private-member-variables-in-classes",
+ "-misc-unused-parameters",
+ "-modernize-*",
+ "-readability-*",
+ }, ","))
+ clangTidyCmd, err := calcClangTidyInvocation(env, clangCmd, cSrcFile, extraTidyFlags...)
+ if err != nil {
+ return fmt.Errorf("calculating clang-tidy invocation: %v", err)
}
// Note: We pass nil as stdin as we checked before that the compiler
diff --git a/compiler_wrapper/clang_tidy_flag_test.go b/compiler_wrapper/clang_tidy_flag_test.go
index baf5219e..4293bb21 100644
--- a/compiler_wrapper/clang_tidy_flag_test.go
+++ b/compiler_wrapper/clang_tidy_flag_test.go
@@ -273,6 +273,176 @@ func TestPartiallyOmitGomaWithClangTidy(t *testing.T) {
})
}
+func TestTriciumClangTidyIsProperlyDetectedFromEnv(t *testing.T) {
+ withClangTidyTestContext(t, func(ctx *testContext) {
+ ctx.env = []string{"WITH_TIDY=tricium"}
+ ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
+ switch ctx.cmdCount {
+ case 1:
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+ return nil
+ case 2:
+ if err := verifyPath(cmd, "usr/bin/clang-tidy"); err != nil {
+ return err
+ }
+
+ hasFixesFile := false
+ for _, arg := range cmd.Args {
+ if path := strings.TrimPrefix(arg, "--export-fixes="); path != arg {
+ hasFixesFile = true
+ if !strings.HasPrefix(path, ctx.cfg.triciumNitsDir+"/") {
+ t.Errorf("fixes file was %q; expected it to be in %q", path, ctx.cfg.triciumNitsDir)
+ }
+ break
+ }
+ }
+
+ if !hasFixesFile {
+ t.Error("no fixes file was provided to a tricium invocation")
+ }
+
+ return nil
+ default:
+ return nil
+ }
+ }
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg,
+ ctx.newCommand(clangX86_64, mainCc)))
+ if ctx.cmdCount != 3 {
+ t.Errorf("expected 3 calls. Got: %d", ctx.cmdCount)
+ }
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+ })
+}
+
+func TestTriciumClangTidySkipsProtobufFiles(t *testing.T) {
+ withClangTidyTestContext(t, func(ctx *testContext) {
+ ctx.env = []string{"WITH_TIDY=tricium"}
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg,
+ ctx.newCommand(clangX86_64, mainCc+".pb.cc")))
+ if ctx.cmdCount != 1 {
+ t.Errorf("expected tricium clang-tidy to not execute on a protobuf file")
+ }
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+ })
+}
+
+func testClangTidyFiltersClangTidySpecificFlagsWithPresetEnv(t *testing.T, ctx *testContext) {
+ addedFlag := "--some_clang_tidy=flag"
+ ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
+ switch ctx.cmdCount {
+ case 1:
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ } else if err := verifyArgCount(cmd, 0, addedFlag); err != nil {
+ t.Error(err)
+ }
+ return nil
+ case 2:
+ if err := verifyPath(cmd, "usr/bin/clang-tidy"); err != nil {
+ t.Error(err)
+ } else if verifyArgCount(cmd, 1, addedFlag); err != nil {
+ t.Error(err)
+ }
+ return nil
+ default:
+ return nil
+ }
+ }
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg, ctx.newCommand(clangX86_64, mainCc, "-clang-tidy-flag="+addedFlag)))
+ if ctx.cmdCount != 3 {
+ t.Errorf("expected 3 calls. Got: %d", ctx.cmdCount)
+ }
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+}
+
+func TestClangTidyFiltersClangTidySpecificFlagsForTricium(t *testing.T) {
+ withClangTidyTestContext(t, func(ctx *testContext) {
+ ctx.env = []string{"WITH_TIDY=tricium"}
+ testClangTidyFiltersClangTidySpecificFlagsWithPresetEnv(t, ctx)
+ })
+}
+
+func TestClangTidyFiltersClangTidySpecificFlags(t *testing.T) {
+ withClangTidyTestContext(t, func(ctx *testContext) {
+ testClangTidyFiltersClangTidySpecificFlagsWithPresetEnv(t, ctx)
+ })
+}
+
+func TestClangTidyFlagsAreFilteredFromGccInvocations(t *testing.T) {
+ withTestContext(t, func(ctx *testContext) {
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg, ctx.newCommand(gccX86_64, mainCc, "-clang-tidy-flag=--foo")))
+ if err := verifyArgCount(cmd, 0, ".*--foo.*"); err != nil {
+ t.Error(err)
+ }
+ })
+}
+
+func TestTriciumReportsClangTidyCrashesGracefully(t *testing.T) {
+ withClangTidyTestContext(t, func(ctx *testContext) {
+ ctx.env = []string{"WITH_TIDY=tricium"}
+ ctx.cmdMock = func(cmd *command, stdin io.Reader, stdout io.Writer, stderr io.Writer) error {
+ switch ctx.cmdCount {
+ case 1:
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+ return nil
+ case 2:
+ if err := verifyPath(cmd, "usr/bin/clang-tidy"); err != nil {
+ return err
+ }
+
+ if _, err := io.WriteString(stdout, clangTidyCrashSubstring); err != nil {
+ return err
+ }
+ return nil
+ case 3:
+ if err := verifyPath(cmd, "usr/bin/clang"); err != nil {
+ t.Error(err)
+ }
+
+ args := cmd.Args
+ if len(args) < 3 {
+ t.Errorf("insufficient number of args provided; got %d; want at least 3", len(args))
+ return nil
+ }
+
+ lastArgs := args[len(args)-3:]
+ eArg, oArg, outFileArg := lastArgs[0], lastArgs[1], lastArgs[2]
+ if eArg != "-E" {
+ t.Errorf("got eArg=%q; wanted -E", eArg)
+ }
+
+ if oArg != "-o" {
+ t.Errorf("got oArg=%q; wanted -o", oArg)
+ }
+
+ wantPrefix := path.Join(ctx.cfg.crashArtifactsDir, "clang-tidy")
+ if !strings.HasPrefix(outFileArg, wantPrefix) {
+ t.Errorf("got out file %q; wanted one starting with %q", outFileArg, wantPrefix)
+ }
+
+ return nil
+ default:
+ return nil
+ }
+ }
+ ctx.must(callCompiler(ctx, ctx.cfg, ctx.newCommand(clangX86_64, mainCc)))
+ if ctx.cmdCount != 4 {
+ t.Errorf("expected 3 calls. Got: %d", ctx.cmdCount)
+ }
+ })
+}
+
func withClangTidyTestContext(t *testing.T, work func(ctx *testContext)) {
withTestContext(t, func(ctx *testContext) {
ctx.env = []string{"WITH_TIDY=1"}
diff --git a/compiler_wrapper/compiler_wrapper.go b/compiler_wrapper/compiler_wrapper.go
index 4c3db14a..2b9459e4 100644
--- a/compiler_wrapper/compiler_wrapper.go
+++ b/compiler_wrapper/compiler_wrapper.go
@@ -80,6 +80,7 @@ func callCompilerInternal(env env, cfg *config, inputCmd *command) (exitCode int
case clangType:
mainBuilder.addPreUserArgs(mainBuilder.cfg.clangFlags...)
mainBuilder.addPreUserArgs(mainBuilder.cfg.commonFlags...)
+ mainBuilder.addPostUserArgs(mainBuilder.cfg.clangPostFlags...)
if _, err := processGomaCccFlags(mainBuilder); err != nil {
return 0, err
}
@@ -89,40 +90,55 @@ func callCompilerInternal(env env, cfg *config, inputCmd *command) (exitCode int
default:
return 0, newErrorwithSourceLocf("unsupported compiler: %s", mainBuilder.target.compiler)
}
- } else if mainBuilder.target.compilerType == clangType {
- cSrcFile, useClangTidy := processClangTidyFlags(mainBuilder)
- err := prepareClangCommand(mainBuilder)
- if err != nil {
- return 0, err
- }
- allowCCache := true
- if useClangTidy {
- allowCCache = false
- clangCmdWithoutGomaAndCCache := mainBuilder.build()
- if err := runClangTidy(env, clangCmdWithoutGomaAndCCache, cSrcFile); err != nil {
- return 0, err
- }
- }
- if err := processGomaCCacheFlags(allowCCache, mainBuilder); err != nil {
- return 0, err
- }
- compilerCmd = mainBuilder.build()
} else {
- if clangSyntax {
- allowCCache := false
- clangCmd, err := calcClangCommand(allowCCache, mainBuilder.clone())
+ cSrcFile, tidyFlags, tidyMode := processClangTidyFlags(mainBuilder)
+ if mainBuilder.target.compilerType == clangType {
+ err := prepareClangCommand(mainBuilder)
if err != nil {
return 0, err
}
- gccCmd, err := calcGccCommand(mainBuilder)
+ allowCCache := true
+ if tidyMode != tidyModeNone {
+ allowCCache = false
+ clangCmdWithoutGomaAndCCache := mainBuilder.build()
+ var err error
+ switch tidyMode {
+ case tidyModeTricium:
+ if cfg.triciumNitsDir == "" {
+ return 0, newErrorwithSourceLocf("tricium linting was requested, but no nits directory is configured")
+ }
+ err = runClangTidyForTricium(env, clangCmdWithoutGomaAndCCache, cSrcFile, cfg.triciumNitsDir, tidyFlags, cfg.crashArtifactsDir)
+ case tidyModeAll:
+ err = runClangTidy(env, clangCmdWithoutGomaAndCCache, cSrcFile, tidyFlags)
+ default:
+ panic(fmt.Sprintf("Unknown tidy mode: %v", tidyMode))
+ }
+
+ if err != nil {
+ return 0, err
+ }
+ }
+ if err := processGomaCCacheFlags(allowCCache, mainBuilder); err != nil {
+ return 0, err
+ }
+ compilerCmd = mainBuilder.build()
+ } else {
+ if clangSyntax {
+ allowCCache := false
+ clangCmd, err := calcClangCommand(allowCCache, mainBuilder.clone())
+ if err != nil {
+ return 0, err
+ }
+ gccCmd, err := calcGccCommand(mainBuilder)
+ if err != nil {
+ return 0, err
+ }
+ return checkClangSyntax(env, clangCmd, gccCmd)
+ }
+ compilerCmd, err = calcGccCommand(mainBuilder)
if err != nil {
return 0, err
}
- return checkClangSyntax(env, clangCmd, gccCmd)
- }
- compilerCmd, err = calcGccCommand(mainBuilder)
- if err != nil {
- return 0, err
}
}
rusageLogfileName := getRusageLogFilename(env)
@@ -167,6 +183,9 @@ func prepareClangCommand(builder *commandBuilder) (err error) {
processSysrootFlag(builder)
}
builder.addPreUserArgs(builder.cfg.clangFlags...)
+ if builder.cfg.crashArtifactsDir != "" {
+ builder.addPreUserArgs("-fcrash-diagnostics-dir=" + builder.cfg.crashArtifactsDir)
+ }
builder.addPostUserArgs(builder.cfg.clangPostFlags...)
calcCommonPreUserArgs(builder)
return processClangFlags(builder)
diff --git a/compiler_wrapper/config.go b/compiler_wrapper/config.go
index a122b5a2..194ab579 100644
--- a/compiler_wrapper/config.go
+++ b/compiler_wrapper/config.go
@@ -29,6 +29,10 @@ type config struct {
rootRelPath string
// Directory to store errors that were prevented with -Wno-error.
newWarningsDir string
+ // Directory to store nits in when using `WITH_TIDY=tricium`.
+ triciumNitsDir string
+ // Directory to store crash artifacts in.
+ crashArtifactsDir string
// Version. Only used for printing via -print-cmd.
version string
}
@@ -92,6 +96,7 @@ func getConfig(configName string, useCCache bool, useLlvmNext bool, version stri
cfg.useLlvmNext = useLlvmNext
if useLlvmNext {
cfg.clangFlags = append(cfg.clangFlags, llvmNextFlags...)
+ cfg.clangPostFlags = append(cfg.clangPostFlags, llvmNextPostFlags...)
}
cfg.version = version
return &cfg, nil
@@ -119,9 +124,10 @@ var crosHardenedConfig = &config{
// Disable "-faddrsig" since it produces object files that strip doesn't understand, chromium:915742.
// Pass "-fcommon" till the packages are fixed to work with new clang default
// "-fno-common", crbug.com/1060413.
+ // crbug.com/1103065: -grecord-gcc-switches pollutes the Goma cache;
+ // removed that flag for now.
clangFlags: []string{
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -132,11 +138,14 @@ var crosHardenedConfig = &config{
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
},
clangPostFlags: []string{
"-Wno-implicit-int-float-conversion",
},
- newWarningsDir: "/tmp/fatal_clang_warnings",
+ newWarningsDir: "/tmp/fatal_clang_warnings",
+ triciumNitsDir: "/tmp/linting_output/clang-tidy",
+ crashArtifactsDir: "/tmp/clang_crash_diagnostics",
}
// Flags to be added to non-hardened toolchain.
@@ -161,11 +170,14 @@ var crosNonHardenedConfig = &config{
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
},
clangPostFlags: []string{
"-Wno-implicit-int-float-conversion",
},
- newWarningsDir: "/tmp/fatal_clang_warnings",
+ newWarningsDir: "/tmp/fatal_clang_warnings",
+ triciumNitsDir: "/tmp/linting_output/clang-tidy",
+ crashArtifactsDir: "/tmp/clang_crash_diagnostics",
}
// Flags to be added to host toolchain.
@@ -182,9 +194,10 @@ var crosHostConfig = &config{
// Temporarily add no-unknown-warning-option to deal with old clang versions.
// Pass "-fcommon" till the packages are fixed to work with new clang default
// "-fno-common", crbug.com/1060413.
+ // crbug.com/1103065: -grecord-gcc-switches pollutes the Goma cache;
+ // removed that flag for now.
clangFlags: []string{
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -195,20 +208,25 @@ var crosHostConfig = &config{
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
},
clangPostFlags: []string{
"-Wno-implicit-int-float-conversion",
},
- newWarningsDir: "/tmp/fatal_clang_warnings",
+ newWarningsDir: "/tmp/fatal_clang_warnings",
+ triciumNitsDir: "/tmp/linting_output/clang-tidy",
+ crashArtifactsDir: "/tmp/clang_crash_diagnostics",
}
var androidConfig = &config{
- isHostWrapper: false,
- isAndroidWrapper: true,
- rootRelPath: "./",
- commonFlags: []string{},
- gccFlags: []string{},
- clangFlags: []string{},
- clangPostFlags: []string{},
- newWarningsDir: "",
+ isHostWrapper: false,
+ isAndroidWrapper: true,
+ rootRelPath: "./",
+ commonFlags: []string{},
+ gccFlags: []string{},
+ clangFlags: []string{},
+ clangPostFlags: []string{},
+ newWarningsDir: "",
+ triciumNitsDir: "",
+ crashArtifactsDir: "",
}
diff --git a/compiler_wrapper/cros_llvm_next_flags.go b/compiler_wrapper/cros_llvm_next_flags.go
index 6cd7cd2a..f5823fbf 100644
--- a/compiler_wrapper/cros_llvm_next_flags.go
+++ b/compiler_wrapper/cros_llvm_next_flags.go
@@ -13,6 +13,11 @@ package main
// tag is set.
// TODO: Enable test in config_test.go, once we have new llvm-next flags.
-var llvmNextFlags = []string{}
+var llvmNextFlags = []string{
+ "-Wno-compound-token-split-by-macro",
+}
-var llvmNextPostFlags = []string{}
+var llvmNextPostFlags = []string{
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+}
diff --git a/compiler_wrapper/update_compiler_wrapper.sh b/compiler_wrapper/install_compiler_wrapper.sh
index 479b112c..479b112c 100755
--- a/compiler_wrapper/update_compiler_wrapper.sh
+++ b/compiler_wrapper/install_compiler_wrapper.sh
diff --git a/compiler_wrapper/libc_exec.go b/compiler_wrapper/libc_exec.go
index f8db9d86..d9867733 100644
--- a/compiler_wrapper/libc_exec.go
+++ b/compiler_wrapper/libc_exec.go
@@ -7,15 +7,31 @@
package main
// #include <errno.h>
+// #include <stdio.h>
// #include <stdlib.h>
// #include <string.h>
// #include <unistd.h>
+// #include <sys/types.h>
+// #include <sys/wait.h>
//
// int libc_exec(const char *pathname, char *const argv[], char *const envp[]) {
-// if (execve(pathname, argv, envp) != 0) {
+// // Since fork() brings us to one thread, we can only use async-signal-safe funcs below.
+// pid_t pid = fork();
+// if (pid == 0) {
+// execve(pathname, argv, envp);
+// fprintf(stderr, "exec failed (errno: %d)\n", errno);
+// _exit(1);
+// }
+// if (pid < 0) {
+// return errno;
+// }
+//
+// int wstatus;
+// pid_t waited = waitpid(pid, &wstatus, 0);
+// if (waited == -1) {
// return errno;
// }
-// return 0;
+// exit(WEXITSTATUS(wstatus));
//}
import "C"
import (
@@ -29,7 +45,7 @@ import (
// Note that this changes the go binary to be a dynamically linked one.
// See crbug.com/1000863 for details.
// To use this version of exec, please add '-tags libc_exec' when building Go binary.
-// Without the tags, libc_exec.go will be used.
+// Without the tags, libc_exec.go will not be used.
func execCmd(env env, cmd *command) error {
freeList := []unsafe.Pointer{}
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json b/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json
index 606fecda..cc55bc4f 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json
@@ -25,7 +25,6 @@
"/tmp/sysroot_bisect",
"/tmp/stable/clang",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -36,6 +35,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
],
@@ -73,7 +74,6 @@
"someBisectDir",
"/tmp/stable/clang",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -84,6 +84,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
],
@@ -124,7 +126,6 @@
"someBisectDir",
"/tmp/stable/clang",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -135,6 +136,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
],
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json
index 7f45584a..5a59277c 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json
@@ -16,7 +16,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -27,6 +26,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -51,7 +52,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -62,6 +62,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -86,7 +88,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -97,6 +98,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -121,7 +124,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -132,6 +134,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -156,7 +160,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -167,6 +170,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -191,7 +196,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -202,6 +206,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -226,7 +232,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -237,6 +242,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -261,7 +268,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -272,6 +278,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -296,7 +304,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -307,6 +314,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_host_wrapper.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_host_wrapper.json
index afb0329e..44b2fb91 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_host_wrapper.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_host_wrapper.json
@@ -15,7 +15,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -26,6 +25,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json
index 05b0ff96..0b951f3e 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json
@@ -15,7 +15,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -26,6 +25,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -49,7 +50,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -60,6 +60,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -83,7 +85,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -94,6 +95,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -117,7 +120,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -128,6 +130,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -151,7 +155,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -162,6 +165,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -185,7 +190,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -196,6 +200,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -219,7 +225,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -230,6 +235,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -253,7 +260,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -264,6 +270,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -287,7 +295,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -298,6 +305,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json
index f7924a06..69fb4410 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json
@@ -15,7 +15,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -26,6 +25,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -52,7 +53,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -63,6 +63,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -89,7 +91,6 @@
"path": "/tmp/stable/clang++",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -100,6 +101,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -126,7 +129,6 @@
"path": "somepath/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -137,6 +139,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -170,7 +174,6 @@
"path": "/somedir/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -181,6 +184,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -219,7 +224,6 @@
"path": "/somedir/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -230,6 +234,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -268,7 +274,6 @@
"path": "/somedir/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -279,6 +284,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -307,7 +314,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -318,6 +324,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -341,7 +349,6 @@
"path": "/tmp/stable/a/b/c/d/e/f/g/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -352,6 +359,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -375,7 +384,6 @@
"path": "/tmp/stable/a/b/c/d/e/f/g/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -386,6 +394,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -409,7 +419,6 @@
"path": "/tmp/stable/somedir/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -420,6 +429,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -446,7 +457,6 @@
"path": "/tmp/stable/pathenv/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -457,6 +467,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
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 11ebc821..93e566fe 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
@@ -17,7 +17,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -28,6 +27,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -54,7 +55,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -65,6 +65,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -91,7 +93,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -102,6 +103,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -128,7 +131,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -139,6 +141,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -164,7 +168,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -175,6 +178,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fno-experimental-new-pass-manager",
"-fsanitize=fuzzer",
"main.cc",
@@ -202,7 +207,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -213,6 +217,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fno-experimental-new-pass-manager",
"-fsanitize=address",
"-fprofile-instr-generate",
@@ -240,7 +246,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -251,6 +256,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=address",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -276,7 +283,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -287,6 +293,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fprofile-instr-generate",
"main.cc",
"-Wno-implicit-int-float-conversion"
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json
index 7a724c88..41143bf0 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json
@@ -26,7 +26,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -37,6 +36,16 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
+ "-mno-movbe",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -61,7 +70,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -72,6 +80,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-#warnings",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -97,7 +107,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -108,6 +117,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-error=uninitialized",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -133,7 +144,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -144,6 +154,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-error=unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -169,7 +181,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -180,6 +191,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -205,7 +218,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -216,6 +228,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wunused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion"
@@ -241,7 +255,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -252,6 +265,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-someflag",
"main.cc",
"-Wno-implicit-int-float-conversion"
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json b/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json
index b4cd44c2..c4f86b01 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json
@@ -31,7 +31,6 @@
"--",
"-resource-dir=someResourceDir",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -42,6 +41,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -52,7 +53,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -63,6 +63,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -103,7 +105,6 @@
"--",
"-resource-dir=someResourceDir",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -114,6 +115,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -124,7 +127,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -135,6 +137,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -177,7 +181,6 @@
"--",
"-resource-dir=someResourceDir",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -188,6 +191,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -201,7 +206,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -212,6 +216,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -255,7 +261,6 @@
"--",
"-resource-dir=someResourceDir",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -266,6 +271,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -276,7 +283,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -287,6 +293,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json
index 66e58dc9..272b4220 100644
--- a/compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json
@@ -18,7 +18,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -29,6 +28,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -55,7 +56,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -66,6 +66,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -78,7 +80,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -89,6 +90,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
"-Wno-error",
@@ -119,7 +122,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -130,6 +132,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion"
]
@@ -142,7 +146,6 @@
"path": "/tmp/stable/clang",
"args": [
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-fuse-ld=lld",
@@ -153,6 +156,8 @@
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
"-Wno-unknown-warning-option",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
"-Wno-error",
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/bisect.json b/compiler_wrapper/testdata/cros_hardened_golden/bisect.json
index 5b95cdb7..97dec849 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/bisect.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/bisect.json
@@ -27,7 +27,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -38,6 +37,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -45,6 +46,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -88,7 +90,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -99,6 +100,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -106,6 +109,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -152,7 +156,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -163,6 +166,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -170,6 +175,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json
index aa083d70..6223ed91 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json
@@ -18,7 +18,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -29,6 +28,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -37,6 +38,7 @@
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -69,7 +71,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -80,6 +81,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -88,6 +91,7 @@
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-eabi"
@@ -120,7 +124,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -131,6 +134,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -139,6 +144,7 @@
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-win-gnu"
@@ -171,7 +177,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -182,6 +187,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -222,7 +229,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -233,6 +239,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -273,7 +281,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -284,6 +291,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -324,7 +333,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -335,6 +343,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -375,7 +385,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -386,6 +395,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -426,7 +437,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -437,6 +447,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json
index 257c0a05..717681c4 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json
@@ -17,7 +17,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +36,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -66,7 +68,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -77,6 +78,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -84,6 +87,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-eabi"
@@ -115,7 +119,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -126,6 +129,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -133,6 +138,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-win-gnu"
@@ -164,7 +170,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -175,6 +180,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -213,7 +220,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -224,6 +230,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -262,7 +270,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7m-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -273,6 +280,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -311,7 +320,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -322,6 +330,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -360,7 +370,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-eabi",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -371,6 +380,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -409,7 +420,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv8m-cros-win-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -420,6 +430,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json
index b9edc49d..6940fcaf 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json
@@ -17,7 +17,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +36,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -69,7 +71,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -80,6 +81,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -87,6 +90,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -121,7 +125,6 @@
"../../usr/bin/clang++",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -132,6 +135,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -139,6 +144,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -173,7 +179,6 @@
"somepath/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -184,6 +189,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -191,6 +198,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -232,7 +240,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -243,6 +250,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -252,6 +261,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -296,7 +306,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -307,6 +316,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -316,6 +327,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -355,7 +367,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -366,6 +377,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -375,6 +388,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -409,7 +423,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -420,6 +433,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -427,6 +442,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -458,7 +474,6 @@
"a/b/usr/bin/clang",
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -469,6 +484,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -476,6 +493,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -507,7 +525,6 @@
"a/b/usr/bin/clang",
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -518,6 +535,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -525,6 +544,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -556,7 +576,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -567,6 +586,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -574,6 +595,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -608,7 +630,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -619,6 +640,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -626,6 +649,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
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 2d70dfbf..acf6c24c 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json
@@ -19,7 +19,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -30,6 +29,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -37,6 +38,7 @@
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -70,7 +72,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -81,6 +82,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -88,6 +91,7 @@
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -121,7 +125,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -132,6 +135,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -139,6 +144,7 @@
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -172,7 +178,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -183,6 +188,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -190,6 +197,7 @@
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -222,7 +230,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -233,6 +240,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -241,6 +250,7 @@
"-fsanitize=fuzzer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -274,7 +284,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -285,6 +294,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -294,6 +305,7 @@
"-fprofile-instr-generate",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -326,7 +338,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -337,6 +348,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -344,6 +357,7 @@
"-fsanitize=address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -376,7 +390,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -387,6 +400,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -395,6 +410,7 @@
"-fprofile-instr-generate",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json
index 50f71a6f..26f5a665 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json
@@ -28,7 +28,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -39,13 +38,24 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
"-D_FORTIFY_SOURCE=2",
"-fno-omit-frame-pointer",
+ "-mno-movbe",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -78,7 +88,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -89,6 +98,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -97,6 +108,7 @@
"-Wno-#warnings",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -129,7 +141,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -140,6 +151,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -148,6 +161,7 @@
"-Wno-error=uninitialized",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -180,7 +194,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -191,6 +204,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -199,6 +214,7 @@
"-Wno-error=unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -231,7 +247,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -242,6 +257,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -250,6 +267,7 @@
"-Wno-unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -282,7 +300,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -293,6 +310,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -301,6 +320,7 @@
"-Wunused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -333,7 +353,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -344,6 +363,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -352,6 +373,7 @@
"-someflag",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json
index b690e3ed..247f207c 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json
@@ -52,7 +52,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -63,6 +62,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -70,6 +71,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -104,7 +106,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -115,6 +116,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -122,6 +125,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -149,7 +153,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -160,11 +163,14 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-D_FORTIFY_SOURCE=2",
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -197,7 +203,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -208,12 +213,15 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-D_FORTIFY_SOURCE=2",
"-fno-omit-frame-pointer",
"-fno-stack-protector",
"-D__KERNEL__",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -246,7 +254,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/armv7a-cros-linux-gnueabihf",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -257,6 +264,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-D_FORTIFY_SOURCE=2",
"-mthumb",
"-fno-stack-protector",
@@ -294,7 +303,6 @@
"args": [
"../../usr/bin/clang",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -305,6 +313,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -313,6 +323,7 @@
"--sysroot=xyz",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json b/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json
index 26abab87..219a8b2f 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json
@@ -32,7 +32,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -43,6 +42,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -50,6 +51,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -62,7 +64,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -73,6 +74,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -80,6 +83,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -122,7 +126,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -133,6 +136,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -140,6 +145,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -153,7 +159,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -164,6 +169,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -171,6 +178,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -215,7 +223,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -226,6 +233,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -233,6 +242,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -249,7 +259,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -260,6 +269,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -267,6 +278,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -312,7 +324,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -323,6 +334,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -330,6 +343,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -343,7 +357,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -354,6 +367,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -361,6 +376,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json
index 61a63a37..10e485da 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json
@@ -20,7 +20,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -31,6 +30,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -38,6 +39,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -72,7 +74,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -83,6 +84,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -90,6 +93,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -110,7 +114,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -121,6 +124,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -128,6 +133,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -166,7 +172,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -177,6 +182,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -184,6 +191,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -204,7 +212,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -215,6 +222,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -222,6 +231,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json
index a37725c0..ea804d97 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json
@@ -17,7 +17,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +36,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -90,7 +92,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -101,6 +102,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -108,6 +111,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -158,7 +162,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -169,6 +172,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -176,6 +181,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -210,7 +216,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -221,6 +226,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -228,6 +235,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/bisect.json b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/bisect.json
index 5b95cdb7..b8e0e462 100644
--- a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/bisect.json
+++ b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/bisect.json
@@ -27,7 +27,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -38,6 +37,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -45,6 +47,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -88,7 +93,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -99,6 +103,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -106,6 +113,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -152,7 +162,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -163,6 +172,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -170,6 +182,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clang_path.json b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clang_path.json
index b9edc49d..9780356e 100644
--- a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clang_path.json
+++ b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clang_path.json
@@ -17,7 +17,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +37,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -69,7 +74,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -80,6 +84,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -87,6 +94,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -121,7 +131,6 @@
"../../usr/bin/clang++",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -132,6 +141,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -139,6 +151,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -173,7 +188,6 @@
"somepath/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -184,6 +198,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -191,6 +208,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -232,7 +252,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -243,6 +262,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -252,6 +274,9 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -296,7 +321,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -307,6 +331,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -316,6 +343,9 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -355,7 +385,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -366,6 +395,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -375,6 +407,9 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -409,7 +444,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -420,6 +454,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -427,6 +464,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -458,7 +498,6 @@
"a/b/usr/bin/clang",
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -469,6 +508,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -476,6 +518,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -507,7 +552,6 @@
"a/b/usr/bin/clang",
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -518,6 +562,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -525,6 +572,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -556,7 +606,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -567,6 +616,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -574,6 +626,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -608,7 +663,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -619,6 +673,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -626,6 +683,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clangtidy.json b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clangtidy.json
index 26abab87..06e114cb 100644
--- a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clangtidy.json
+++ b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/clangtidy.json
@@ -32,7 +32,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -43,6 +42,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -50,6 +52,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -62,7 +67,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -73,6 +77,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -80,6 +87,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -122,7 +132,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -133,6 +142,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -140,6 +152,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -153,7 +168,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -164,6 +178,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -171,6 +188,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -215,7 +235,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -226,6 +245,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -233,6 +255,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -249,7 +274,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -260,6 +284,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -267,6 +294,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -312,7 +342,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -323,6 +352,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -330,6 +362,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -343,7 +378,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -354,6 +388,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -361,6 +398,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/force_disable_werror.json
index 61a63a37..cd460a79 100644
--- a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/force_disable_werror.json
+++ b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/force_disable_werror.json
@@ -20,7 +20,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -31,6 +30,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -38,6 +40,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -72,7 +77,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -83,6 +87,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -90,6 +97,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -110,7 +120,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -121,6 +130,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -128,6 +140,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -166,7 +181,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -177,6 +191,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -184,6 +201,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -204,7 +224,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -215,6 +234,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -222,6 +244,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/gcc_clang_syntax.json
index a37725c0..c7f619d9 100644
--- a/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/gcc_clang_syntax.json
+++ b/compiler_wrapper/testdata/cros_hardened_llvmnext_golden/gcc_clang_syntax.json
@@ -17,7 +17,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +37,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -90,7 +95,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -101,6 +105,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -108,6 +115,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -158,7 +168,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -169,6 +178,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -176,6 +188,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -210,7 +225,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -221,6 +235,9 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-Wno-compound-token-split-by-macro",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -228,6 +245,9 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-Wno-compound-token-split-by-space",
+ "-Wno-string-concatenation",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json
index e9bc3661..af4e3ff5 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json
@@ -26,7 +26,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -37,6 +36,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -44,6 +45,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -83,7 +85,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -94,6 +95,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -101,6 +104,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -143,7 +147,6 @@
"/usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -154,6 +157,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -161,6 +166,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json
index c21d6198..50423288 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json
@@ -16,7 +16,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -27,6 +26,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -34,6 +35,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -62,7 +64,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -73,6 +74,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -80,6 +83,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -108,7 +112,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -119,6 +122,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -126,6 +131,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -154,7 +160,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -165,6 +170,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -172,6 +179,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -207,7 +215,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -218,6 +225,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -227,6 +236,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -266,7 +276,6 @@
"/somedir/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -277,6 +286,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -286,6 +297,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -324,7 +336,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -335,6 +346,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -344,6 +357,7 @@
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -372,7 +386,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -383,6 +396,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -390,6 +405,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -415,7 +431,6 @@
"args": [
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -426,6 +441,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -433,6 +450,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -458,7 +476,6 @@
"args": [
"--sysroot=/tmp/stable/a/b/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -469,6 +486,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -476,6 +495,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -501,7 +521,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -512,6 +531,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -519,6 +540,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -547,7 +569,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -558,6 +579,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -565,6 +588,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json
index 26abab87..219a8b2f 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json
@@ -32,7 +32,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -43,6 +42,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -50,6 +51,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -62,7 +64,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -73,6 +74,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -80,6 +83,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -122,7 +126,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -133,6 +136,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -140,6 +145,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -153,7 +159,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -164,6 +169,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -171,6 +178,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -215,7 +223,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -226,6 +233,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -233,6 +242,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -249,7 +259,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -260,6 +269,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -267,6 +278,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -312,7 +324,6 @@
"-resource-dir=someResourceDir",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -323,6 +334,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -330,6 +343,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -343,7 +357,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -354,6 +367,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -361,6 +376,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json
index ce35f311..a7fa8525 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json
@@ -19,7 +19,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -30,6 +29,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -37,6 +38,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -65,7 +67,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -76,6 +77,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -83,6 +86,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -97,7 +101,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -108,6 +111,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -115,6 +120,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -147,7 +153,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -158,6 +163,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -165,6 +172,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -179,7 +187,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -190,6 +197,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -197,6 +206,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json
index f716dde3..bafca635 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json
@@ -17,7 +17,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -28,6 +27,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -35,6 +36,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -85,7 +87,6 @@
"../../usr/bin/clang",
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -96,6 +97,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -103,6 +106,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -153,7 +157,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -164,6 +167,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -171,6 +176,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -205,7 +211,6 @@
"args": [
"--sysroot=/usr/x86_64-cros-linux-gnu",
"-Qunused-arguments",
- "-grecord-gcc-switches",
"-fno-addrsig",
"-fcommon",
"-Wno-tautological-constant-compare",
@@ -216,6 +221,8 @@
"-fuse-ld=lld",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -223,6 +230,7 @@
"-fno-omit-frame-pointer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json b/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json
index ce83cd72..8b03c092 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json
@@ -34,8 +34,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -86,8 +89,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -141,8 +147,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json
index db5bea28..5d72756d 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json
@@ -25,9 +25,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -67,9 +70,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-eabi"
@@ -109,9 +115,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-win-gnu"
@@ -151,6 +160,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -194,6 +205,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
@@ -236,6 +249,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -279,6 +294,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -322,6 +339,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-ftrapv",
"main.cc",
"-Wno-implicit-int-float-conversion",
@@ -364,6 +383,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"-ftrapv",
"main.cc",
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json
index 8b5d7088..382b7097 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json
@@ -24,8 +24,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -64,8 +67,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-eabi"
@@ -104,8 +110,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-win-gnu"
@@ -144,6 +153,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"main.cc",
"-Wno-implicit-int-float-conversion",
@@ -185,6 +196,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
"-B../../bin",
@@ -225,6 +238,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"main.cc",
"-Wno-implicit-int-float-conversion",
@@ -266,6 +281,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"main.cc",
"-Wno-implicit-int-float-conversion",
@@ -307,6 +324,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
"-B../../bin",
@@ -347,6 +366,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"main.cc",
"-Wno-implicit-int-float-conversion",
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json
index 418f9d62..cadfd1fe 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json
@@ -24,8 +24,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -67,8 +70,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -110,8 +116,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -153,8 +162,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -203,10 +215,13 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -258,10 +273,13 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -308,10 +326,13 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -353,8 +374,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -393,8 +417,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -433,8 +460,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-Ba/b/bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -473,8 +503,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -516,8 +549,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
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 54a3268c..8786db27 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json
@@ -26,9 +26,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -69,9 +72,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -112,9 +118,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -155,9 +164,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=kernel-address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -197,10 +209,13 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fno-experimental-new-pass-manager",
"-fsanitize=fuzzer",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -241,11 +256,14 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fno-experimental-new-pass-manager",
"-fsanitize=address",
"-fprofile-instr-generate",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -285,9 +303,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fsanitize=address",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -327,9 +348,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fprofile-instr-generate",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json
index 4a30d74e..98ca5a67 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json
@@ -35,8 +35,19 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
+ "-mno-movbe",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -76,9 +87,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-#warnings",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -118,9 +132,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-error=uninitialized",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -160,9 +177,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-error=unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -202,9 +222,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wno-unused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -244,9 +267,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-Wunused-variable",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -286,9 +312,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-someflag",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json
index 8b5c8b90..d39e2b0a 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json
@@ -55,8 +55,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -98,8 +101,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -134,8 +140,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -175,10 +184,13 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-fno-stack-protector",
"-D__KERNEL__",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -218,6 +230,8 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"-mthumb",
"-fno-stack-protector",
"-D__KERNEL__",
@@ -261,9 +275,12 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"--sysroot=xyz",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json
index cf30514c..ce9659a2 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json
@@ -39,8 +39,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -60,8 +63,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -111,8 +117,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -133,8 +142,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -186,8 +198,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -211,8 +226,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -265,8 +283,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -287,8 +308,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json
index 7aad322f..61bff7d7 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json
@@ -27,8 +27,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -70,8 +73,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -99,8 +105,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -146,8 +155,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu"
@@ -175,8 +187,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json
index 76d81fa9..244e8fad 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json
@@ -24,8 +24,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -84,8 +87,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -139,8 +145,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
@@ -182,8 +191,11 @@
"-static-libgcc",
"-Wno-final-dtor-non-final-class",
"-Werror=poison-system-directories",
+ "-fexperimental-new-pass-manager",
+ "-fcrash-diagnostics-dir=/tmp/stable/clang_crash_diagnostics",
"main.cc",
"-Wno-implicit-int-float-conversion",
+ "-mno-movbe",
"-B../../bin",
"-target",
"x86_64-cros-linux-gnu",
diff --git a/compiler_wrapper/testutil_test.go b/compiler_wrapper/testutil_test.go
index 5d8ef920..21b7169d 100644
--- a/compiler_wrapper/testutil_test.go
+++ b/compiler_wrapper/testutil_test.go
@@ -141,6 +141,8 @@ func (ctx *testContext) mustFail(exitCode int) string {
func (ctx *testContext) updateConfig(cfg *config) {
*ctx.cfg = *cfg
ctx.cfg.newWarningsDir = filepath.Join(ctx.tempDir, "fatal_clang_warnings")
+ ctx.cfg.triciumNitsDir = filepath.Join(ctx.tempDir, "tricium_nits")
+ ctx.cfg.crashArtifactsDir = filepath.Join(ctx.tempDir, "clang_crash_diagnostics")
}
func (ctx *testContext) newCommand(path string, args ...string) *command {