aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper
diff options
context:
space:
mode:
authorTobias Bosch <tbosch@google.com>2019-08-13 09:04:46 -0700
committerTobias Bosch <tbosch@google.com>2019-08-13 18:42:04 +0000
commitcaf583bca202cd1c5b3ae75e03073cba105f5e6d (patch)
tree6c37e64f7fef117a1cd8103466ca445bab153a58 /compiler_wrapper
parentb30a1ed8f990b24980ca5c6ceeaedfb806c48521 (diff)
downloadtoolchain-utils-caf583bca202cd1c5b3ae75e03073cba105f5e6d.tar.gz
Create a goldenfile for every section.
Previously, a golden file contained multiple names sections. This change splits these into separate files, making changes easier to compare. BUG=chromium:773875 TEST=unit test Change-Id: Icffec335601297f504f98c4ff1654238f7838080 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1752523 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
Diffstat (limited to 'compiler_wrapper')
-rw-r--r--compiler_wrapper/cros_hardened_config_test.go80
-rw-r--r--compiler_wrapper/cros_host_config_test.go12
-rw-r--r--compiler_wrapper/cros_nonhardened_config_test.go4
-rw-r--r--compiler_wrapper/goldenutil_test.go84
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden.json1695
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/bisect.json84
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json272
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json263
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json259
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json162
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json228
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json260
-rw-r--r--compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json141
-rw-r--r--compiler_wrapper/testdata/cros_gcc_host_golden.json365
-rw-r--r--compiler_wrapper/testdata/cros_gcc_host_golden/gcc_maincc_target_specific.json218
-rw-r--r--compiler_wrapper/testdata/cros_gcc_host_golden/gcc_path.json56
-rw-r--r--compiler_wrapper/testdata/cros_gcc_host_golden/gcc_specific_args.json80
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden.json3952
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/bisect.json116
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json425
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json407
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_path.json365
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json237
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json340
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json259
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json335
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json221
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json249
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_maincc_target_specific.json329
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_path.json82
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_sanitizer_args.json201
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_specific_args.json119
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden/gcc_sysroot_wrapper_common.json220
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden.json1273
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json102
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json323
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json335
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json186
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json237
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_path.json70
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden.json3436
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json102
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json366
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json348
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json316
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json207
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json291
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json225
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json279
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json186
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json209
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_maincc_target_specific.json297
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_path.json74
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sanitizer_args.json181
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_specific_args.json107
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sysroot_wrapper_common.json201
56 files changed, 10664 insertions, 10807 deletions
diff --git a/compiler_wrapper/cros_hardened_config_test.go b/compiler_wrapper/cros_hardened_config_test.go
index 0a0a4022..d2f4214e 100644
--- a/compiler_wrapper/cros_hardened_config_test.go
+++ b/compiler_wrapper/cros_hardened_config_test.go
@@ -10,19 +10,20 @@ import (
"path"
"path/filepath"
"regexp"
+ "strings"
"testing"
)
const oldHardenedWrapperPathForTest = "/usr/x86_64-pc-linux-gnu/x86_64-cros-linux-gnu/gcc-bin/4.9.x/sysroot_wrapper.hardened"
-const crosHardenedGoldenFile = "testdata/cros_hardened_golden.json"
-const crosHardenedNoCCacheGoldenFile = "testdata/cros_hardened_noccache_golden.json"
+const crosHardenedGoldenDir = "testdata/cros_hardened_golden"
+const crosHardenedNoCCacheGoldenDir = "testdata/cros_hardened_noccache_golden"
func TestCrosHardenedConfig(t *testing.T) {
withTestContext(t, func(ctx *testContext) {
useCCache := true
ctx.updateConfig(oldHardenedWrapperPathForTest, getCrosHardenedConfig(useCCache))
- runGoldenRecords(ctx, crosHardenedGoldenFile, createSyswrapperGoldenInputs(ctx))
+ runGoldenRecords(ctx, crosHardenedGoldenDir, createSyswrapperGoldenInputs(ctx))
})
}
@@ -48,7 +49,7 @@ func TestCrosHardenedConfigWithoutCCache(t *testing.T) {
gomaPath := path.Join(ctx.tempDir, "gomacc")
ctx.writeFile(gomaPath, "")
gomaEnv := "GOMACC_PATH=" + gomaPath
- runGoldenRecords(ctx, crosHardenedNoCCacheGoldenFile, []goldenRecordSection{
+ runGoldenRecords(ctx, crosHardenedNoCCacheGoldenDir, []goldenFile{
createGccPathGoldenInputs(gomaEnv),
createClangPathGoldenInputs(gomaEnv),
createClangSyntaxGoldenInputs(gomaEnv),
@@ -59,12 +60,12 @@ func TestCrosHardenedConfigWithoutCCache(t *testing.T) {
})
}
-func createSyswrapperGoldenInputs(ctx *testContext) []goldenRecordSection {
+func createSyswrapperGoldenInputs(ctx *testContext) []goldenFile {
gomaPath := path.Join(ctx.tempDir, "gomacc")
ctx.writeFile(gomaPath, "")
gomaEnv := "GOMACC_PATH=" + gomaPath
- return []goldenRecordSection{
+ return []goldenFile{
createGccPathGoldenInputs(gomaEnv),
createGoldenInputsForAllTargets("gcc", mainCc),
createSysrootWrapperCommonGoldenInputs("gcc", gomaEnv),
@@ -83,9 +84,10 @@ func createSyswrapperGoldenInputs(ctx *testContext) []goldenRecordSection {
}
}
-func createGoldenInputsForAllTargets(compiler string, args ...string) goldenRecordSection {
- return goldenRecordSection{
- Name: fmt.Sprintf("%s %s target specific", compiler, args),
+func createGoldenInputsForAllTargets(compiler string, args ...string) goldenFile {
+ argsReplacer := strings.NewReplacer(".", "", "-", "")
+ return goldenFile{
+ Name: fmt.Sprintf("%s_%s_target_specific.json", compiler, argsReplacer.Replace(strings.Join(args, "_"))),
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd("./x86_64-cros-linux-gnu-"+compiler, args...),
@@ -127,9 +129,9 @@ func createGoldenInputsForAllTargets(compiler string, args ...string) goldenReco
}
}
-func createBisectGoldenInputs() goldenRecordSection {
- return goldenRecordSection{
- Name: "bisect",
+func createBisectGoldenInputs() goldenFile {
+ return goldenFile{
+ Name: "bisect.json",
// Disable comparing to the old wrapper as that calls the bisect_driver
// directly from python, and the new wrapper calls it via a separate
// sub command.
@@ -155,9 +157,9 @@ func createBisectGoldenInputs() goldenRecordSection {
}
}
-func createForceDisableWErrorGoldenInputs() goldenRecordSection {
- return goldenRecordSection{
- Name: "force disable werror",
+func createForceDisableWErrorGoldenInputs() goldenFile {
+ return goldenFile{
+ Name: "force_disable_werror.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(clangX86_64, mainCc),
@@ -190,9 +192,9 @@ func createForceDisableWErrorGoldenInputs() goldenRecordSection {
}
}
-func createGccPathGoldenInputs(gomaEnv string) goldenRecordSection {
- return goldenRecordSection{
- Name: "gcc path",
+func createGccPathGoldenInputs(gomaEnv string) goldenFile {
+ return goldenFile{
+ Name: "gcc_path.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd("./x86_64-cros-linux-gnu-gcc", mainCc),
@@ -206,9 +208,9 @@ func createGccPathGoldenInputs(gomaEnv string) goldenRecordSection {
}
}
-func createClangPathGoldenInputs(gomaEnv string) goldenRecordSection {
- return goldenRecordSection{
- Name: "clang path",
+func createClangPathGoldenInputs(gomaEnv string) goldenFile {
+ return goldenFile{
+ Name: "clang_path.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd("./x86_64-cros-linux-gnu-clang", mainCc),
@@ -253,10 +255,10 @@ func createClangPathGoldenInputs(gomaEnv string) goldenRecordSection {
}
}
-func createClangTidyGoldenInputs(gomaEnv string) goldenRecordSection {
+func createClangTidyGoldenInputs(gomaEnv string) goldenFile {
tidyEnv := "WITH_TIDY=1"
- return goldenRecordSection{
- Name: "clang-tidy",
+ return goldenFile{
+ Name: "clangtidy.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(clangX86_64, mainCc),
@@ -301,9 +303,9 @@ func createClangTidyGoldenInputs(gomaEnv string) goldenRecordSection {
}
}
-func createClangSyntaxGoldenInputs(gomaEnv string) goldenRecordSection {
- return goldenRecordSection{
- Name: "gcc clang-syntax",
+func createClangSyntaxGoldenInputs(gomaEnv string) goldenFile {
+ return goldenFile{
+ Name: "gcc_clang_syntax.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(gccX86_64, "-clang-syntax", mainCc),
@@ -335,11 +337,11 @@ func createClangSyntaxGoldenInputs(gomaEnv string) goldenRecordSection {
}
}
-func createSysrootWrapperCommonGoldenInputs(compiler string, gomaEnv string) goldenRecordSection {
+func createSysrootWrapperCommonGoldenInputs(compiler string, gomaEnv string) goldenFile {
// We are using a fixed target as all of the following args are target independent.
wrapperPath := "./x86_64-cros-linux-gnu-" + compiler
- return goldenRecordSection{
- Name: compiler + " sysroot wrapper common",
+ return goldenFile{
+ Name: compiler + "_sysroot_wrapper_common.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(gccX86_64, "-noccache", mainCc),
@@ -371,11 +373,11 @@ func createSysrootWrapperCommonGoldenInputs(compiler string, gomaEnv string) gol
}
}
-func createSanitizerGoldenInputs(compiler string) goldenRecordSection {
+func createSanitizerGoldenInputs(compiler string) goldenFile {
// We are using a fixed target as all of the following args are target independent.
wrapperPath := "./x86_64-cros-linux-gnu-" + compiler
- return goldenRecordSection{
- Name: compiler + " sanitizer args",
+ return goldenFile{
+ Name: compiler + "_sanitizer_args.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(wrapperPath, "-fsanitize=kernel-address", "-Wl,--no-undefined", mainCc),
@@ -401,9 +403,9 @@ func createSanitizerGoldenInputs(compiler string) goldenRecordSection {
}
}
-func createGccArgsGoldenInputs() goldenRecordSection {
- return goldenRecordSection{
- Name: "gcc specific args",
+func createGccArgsGoldenInputs() goldenFile {
+ return goldenFile{
+ Name: "gcc_specific_args.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(gccX86_64, "-march=goldmont", mainCc),
@@ -421,9 +423,9 @@ func createGccArgsGoldenInputs() goldenRecordSection {
}
}
-func createClangArgsGoldenInputs() goldenRecordSection {
- return goldenRecordSection{
- Name: "clang specific args",
+func createClangArgsGoldenInputs() goldenFile {
+ return goldenFile{
+ Name: "clang_specific_args.json",
Records: []goldenRecord{
{
WrapperCmd: newGoldenCmd(clangX86_64, "-mno-movbe", "-pass-exit-codes", "-Wclobbered", "-Wno-psabi", "-Wlogical-op",
diff --git a/compiler_wrapper/cros_host_config_test.go b/compiler_wrapper/cros_host_config_test.go
index 901fa896..7ccdf3fb 100644
--- a/compiler_wrapper/cros_host_config_test.go
+++ b/compiler_wrapper/cros_host_config_test.go
@@ -11,8 +11,8 @@ import (
const oldClangHostWrapperPathForTest = "/usr/bin/clang_host_wrapper"
const oldGccHostWrapperPathForTest = "../src/third_party/chromiumos-overlay/sys-devel/gcc/files/host_wrapper"
-const crosClangHostGoldenFile = "testdata/cros_clang_host_golden.json"
-const crosGccHostGoldenFile = "testdata/cros_gcc_host_golden.json"
+const crosClangHostGoldenDir = "testdata/cros_clang_host_golden"
+const crosGccHostGoldenDir = "testdata/cros_gcc_host_golden"
func TestCrosClangHostConfig(t *testing.T) {
withTestContext(t, func(ctx *testContext) {
@@ -22,7 +22,7 @@ func TestCrosClangHostConfig(t *testing.T) {
ctx.writeFile(gomaPath, "")
gomaEnv := "GOMACC_PATH=" + gomaPath
- goldenSections := []goldenRecordSection{
+ goldenFiles := []goldenFile{
createClangPathGoldenInputs(gomaEnv),
createGoldenInputsForAllTargets("clang", mainCc),
createGoldenInputsForAllTargets("clang", "-ftrapv", mainCc),
@@ -33,7 +33,7 @@ func TestCrosClangHostConfig(t *testing.T) {
createClangTidyGoldenInputs(gomaEnv),
}
- runGoldenRecords(ctx, crosClangHostGoldenFile, goldenSections)
+ runGoldenRecords(ctx, crosClangHostGoldenDir, goldenFiles)
})
}
@@ -47,12 +47,12 @@ func TestCrosGccHostConfig(t *testing.T) {
// Note: The old gcc host wrapper is very limited and only adds flags.
// So we only test very few things here.
- goldenSections := []goldenRecordSection{
+ goldenFiles := []goldenFile{
createGccPathGoldenInputs(gomaEnv),
createGoldenInputsForAllTargets("gcc", mainCc),
createGccArgsGoldenInputs(),
}
- runGoldenRecords(ctx, crosGccHostGoldenFile, goldenSections)
+ runGoldenRecords(ctx, crosGccHostGoldenDir, goldenFiles)
})
}
diff --git a/compiler_wrapper/cros_nonhardened_config_test.go b/compiler_wrapper/cros_nonhardened_config_test.go
index 2753e306..41e3d7c9 100644
--- a/compiler_wrapper/cros_nonhardened_config_test.go
+++ b/compiler_wrapper/cros_nonhardened_config_test.go
@@ -9,13 +9,13 @@ import (
)
const oldNonHardenedWrapperPathForTest = "/usr/x86_64-pc-linux-gnu/arm-none-eabi/gcc-bin/4.9.x/sysroot_wrapper"
-const crosNonHardenedGoldenFile = "testdata/cros_nonhardened_golden.json"
+const crosNonHardenedGoldenDir = "testdata/cros_nonhardened_golden"
func TestCrosNonHardenedConfig(t *testing.T) {
withTestContext(t, func(ctx *testContext) {
useCCache := true
ctx.updateConfig(oldNonHardenedWrapperPathForTest, getCrosNonHardenedConfig(useCCache))
- runGoldenRecords(ctx, crosNonHardenedGoldenFile, createSyswrapperGoldenInputs(ctx))
+ runGoldenRecords(ctx, crosNonHardenedGoldenDir, createSyswrapperGoldenInputs(ctx))
})
}
diff --git a/compiler_wrapper/goldenutil_test.go b/compiler_wrapper/goldenutil_test.go
index ddd176d6..2b6463df 100644
--- a/compiler_wrapper/goldenutil_test.go
+++ b/compiler_wrapper/goldenutil_test.go
@@ -20,7 +20,7 @@ import (
var updateGoldenFiles = flag.Bool("updategolden", false, "update golden files")
var filterGoldenTests = flag.String("rungolden", "", "regex filter for golden tests to run")
-type goldenRecordSection struct {
+type goldenFile struct {
Name string `json:"name"`
ignoreOldWrapper bool
Records []goldenRecord `json:"records"`
@@ -55,70 +55,76 @@ var errorResult = commandResult{
}
var errorResults = []commandResult{errorResult}
-func runGoldenRecords(ctx *testContext, goldenFile string, sections []goldenRecordSection) {
+func runGoldenRecords(ctx *testContext, goldenDir string, files []goldenFile) {
if filterPattern := *filterGoldenTests; filterPattern != "" {
- sections = filterGoldenRecords(filterPattern, sections)
+ files = filterGoldenRecords(filterPattern, files)
}
- if len(sections) == 0 {
+ if len(files) == 0 {
ctx.t.Errorf("No goldenrecords given.")
return
}
- sections = fillGoldenResults(ctx, sections)
+ files = fillGoldenResults(ctx, files)
if *updateGoldenFiles {
- log.Printf("updating golden file under %s", goldenFile)
- if err := os.MkdirAll(filepath.Dir(goldenFile), 0777); err != nil {
+ log.Printf("updating golden files under %s", goldenDir)
+ if err := os.MkdirAll(goldenDir, 0777); err != nil {
ctx.t.Fatal(err)
}
- goldenFile, err := os.Create(goldenFile)
- if err != nil {
- ctx.t.Fatal(err)
- }
- defer goldenFile.Close()
+ for _, file := range files {
+ fileHandle, err := os.Create(filepath.Join(goldenDir, file.Name))
+ if err != nil {
+ ctx.t.Fatal(err)
+ }
+ defer fileHandle.Close()
- writeGoldenRecords(ctx, goldenFile, sections)
- } else {
- compareBuffer := &bytes.Buffer{}
- writeGoldenRecords(ctx, compareBuffer, sections)
- goldenFileData, err := ioutil.ReadFile(goldenFile)
- if err != nil {
- ctx.t.Fatal(err)
+ writeGoldenRecords(ctx, fileHandle, file.Records)
}
- if !bytes.Equal(compareBuffer.Bytes(), goldenFileData) {
- ctx.t.Fatalf("Commands don't match the golden file under %s. Please regenerate via -updategolden to check the differences.",
- goldenFile)
+ } else {
+ for _, file := range files {
+ compareBuffer := &bytes.Buffer{}
+ writeGoldenRecords(ctx, compareBuffer, file.Records)
+ filePath := filepath.Join(goldenDir, file.Name)
+ goldenFileData, err := ioutil.ReadFile(filePath)
+ if err != nil {
+ ctx.t.Error(err)
+ continue
+ }
+ if !bytes.Equal(compareBuffer.Bytes(), goldenFileData) {
+ ctx.t.Errorf("Commands don't match the golden file under %s. Please regenerate via -updategolden to check the differences.",
+ filePath)
+ }
}
}
}
-func filterGoldenRecords(pattern string, sections []goldenRecordSection) []goldenRecordSection {
+func filterGoldenRecords(pattern string, files []goldenFile) []goldenFile {
matcher := regexp.MustCompile(pattern)
- newSections := []goldenRecordSection{}
- for _, section := range sections {
+ newFiles := []goldenFile{}
+ for _, file := range files {
newRecords := []goldenRecord{}
- for _, record := range section.Records {
+ for _, record := range file.Records {
cmd := record.WrapperCmd.Cmd
str := strings.Join(append(append(record.Env, cmd.Path), cmd.Args...), " ")
if matcher.MatchString(str) {
newRecords = append(newRecords, record)
}
}
- section.Records = newRecords
- newSections = append(newSections, section)
+ file.Records = newRecords
+ newFiles = append(newFiles, file)
}
- return newSections
+ return newFiles
}
-func fillGoldenResults(ctx *testContext, sections []goldenRecordSection) []goldenRecordSection {
+func fillGoldenResults(ctx *testContext, files []goldenFile) []goldenFile {
oldWrapperPath := ctx.cfg.oldWrapperPath
- newSections := []goldenRecordSection{}
- for _, section := range sections {
+ newFiles := []goldenFile{}
+ for _, file := range files {
ctx.cfg.oldWrapperPath = oldWrapperPath
- if section.ignoreOldWrapper {
+ if file.ignoreOldWrapper {
ctx.cfg.oldWrapperPath = ""
}
newRecords := []goldenRecord{}
- for _, record := range section.Records {
+ for _, record := range file.Records {
newCmds := []commandResult{}
ctx.cmdMock = func(cmd *command, stdout io.Writer, stderr io.Writer) error {
if len(newCmds) >= len(record.Cmds) {
@@ -160,13 +166,13 @@ func fillGoldenResults(ctx *testContext, sections []goldenRecordSection) []golde
record.WrapperCmd.Stderr = ctx.stderrString()
newRecords = append(newRecords, record)
}
- section.Records = newRecords
- newSections = append(newSections, section)
+ file.Records = newRecords
+ newFiles = append(newFiles, file)
}
- return newSections
+ return newFiles
}
-func writeGoldenRecords(ctx *testContext, writer io.Writer, sections []goldenRecordSection) {
+func writeGoldenRecords(ctx *testContext, writer io.Writer, records []goldenRecord) {
// Replace the temp dir with a stable path so that the goldens stay stable.
stableTempDir := filepath.Join(filepath.Dir(ctx.tempDir), "stable")
writer = &replacingWriter{
@@ -176,7 +182,7 @@ func writeGoldenRecords(ctx *testContext, writer io.Writer, sections []goldenRec
}
enc := json.NewEncoder(writer)
enc.SetIndent("", " ")
- if err := enc.Encode(sections); err != nil {
+ if err := enc.Encode(records); err != nil {
ctx.t.Fatal(err)
}
}
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden.json b/compiler_wrapper/testdata/cros_clang_host_golden.json
deleted file mode 100644
index 0bb9332c..00000000
--- a/compiler_wrapper/testdata/cros_clang_host_golden.json
+++ /dev/null
@@ -1,1695 +0,0 @@
-[
- {
- "name": "clang path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang++",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang++",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "CLANG=somepath/clang"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "somepath/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/somedir/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/somedir/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/somedir/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang [-ftrapv main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang sanitizer args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,--no-undefined",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-fsanitize=kernel-address",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,-z,defs",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-fsanitize=kernel-address",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=1",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-fsanitize=kernel-address",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=2",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-fsanitize=kernel-address",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-fno-experimental-new-pass-manager",
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-mno-movbe",
- "-pass-exit-codes",
- "-Wclobbered",
- "-Wno-psabi",
- "-Wlogical-op",
- "-Wmissing-parameter-type",
- "-Wold-style-declaration",
- "-Woverride-init",
- "-Wunsafe-loop-optimizations",
- "-Wstrict-aliasing=abc",
- "-finline-limit=abc",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=cpp",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-#warnings",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=maybe-uninitialized",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-error=uninitialized",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-error=unused-variable",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-unused-variable",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wunused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wunused-variable",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-only=-someflag",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-someflag",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "bisect",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/tmp/stable/clang",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/tmp/stable/clang",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "force disable werror",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc",
- "-Wno-error"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc",
- "-Wno-error"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang-tidy",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerrorclang-tidy failed"
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/clang",
- "args": [
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- }
-]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json b/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json
new file mode 100644
index 00000000..a3218c5f
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/bisect.json
@@ -0,0 +1,84 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/tmp/stable/clang",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/tmp/stable/clang",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..74f7658d
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_ftrapv_maincc_target_specific.json
@@ -0,0 +1,272 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..4f908037
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_maincc_target_specific.json
@@ -0,0 +1,263 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json b/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json
new file mode 100644
index 00000000..a9a5d32e
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_path.json
@@ -0,0 +1,259 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang++",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang++",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "CLANG=somepath/clang"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "somepath/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/somedir/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/somedir/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/somedir/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..3bd1c0d6
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_sanitizer_args.json
@@ -0,0 +1,162 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,--no-undefined",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-fsanitize=kernel-address",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,-z,defs",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-fsanitize=kernel-address",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=1",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-fsanitize=kernel-address",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=2",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-fsanitize=kernel-address",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-fno-experimental-new-pass-manager",
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..e0358ba1
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clang_specific_args.json
@@ -0,0 +1,228 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-mno-movbe",
+ "-pass-exit-codes",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
+ "-Wstrict-aliasing=abc",
+ "-finline-limit=abc",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=cpp",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-#warnings",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=maybe-uninitialized",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-error=uninitialized",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-error=unused-variable",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-unused-variable",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wunused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wunused-variable",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-only=-someflag",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-someflag",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json b/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json
new file mode 100644
index 00000000..740dea13
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/clangtidy.json
@@ -0,0 +1,260 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerrorclang-tidy failed"
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..1c629fa8
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_clang_host_golden/force_disable_werror.json
@@ -0,0 +1,141 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc",
+ "-Wno-error"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/clang",
+ "args": [
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "main.cc",
+ "-Wno-error"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_gcc_host_golden.json b/compiler_wrapper/testdata/cros_gcc_host_golden.json
deleted file mode 100644
index b7b79e04..00000000
--- a/compiler_wrapper/testdata/cros_gcc_host_golden.json
+++ /dev/null
@@ -1,365 +0,0 @@
-[
- {
- "name": "gcc path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "gcc [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-march=goldmont",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont-plus",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-march=goldmont-plus",
- "main.cc"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=skylake",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-march=skylake",
- "main.cc"
- ]
- }
- }
- ]
- }
- ]
- }
-]
diff --git a/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_maincc_target_specific.json b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_maincc_target_specific.json
new file mode 100644
index 00000000..c0f9ecdb
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_maincc_target_specific.json
@@ -0,0 +1,218 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_path.json b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_path.json
new file mode 100644
index 00000000..a027446e
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_path.json
@@ -0,0 +1,56 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_specific_args.json b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_specific_args.json
new file mode 100644
index 00000000..e1470474
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_gcc_host_golden/gcc_specific_args.json
@@ -0,0 +1,80 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-march=goldmont",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont-plus",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-march=goldmont-plus",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=skylake",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-march=skylake",
+ "main.cc"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden.json b/compiler_wrapper/testdata/cros_hardened_golden.json
deleted file mode 100644
index 1b318f7b..00000000
--- a/compiler_wrapper/testdata/cros_hardened_golden.json
+++ /dev/null
@@ -1,3952 +0,0 @@
-[
- {
- "name": "gcc path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "gcc [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-win-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-win-gnu-gcc.real",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-win-gnu-gcc.real",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc sysroot wrapper common",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-noccache",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=someNonExistingPath"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-nopie",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-D__KERNEL__",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fno-stack-protector",
- "-D__KERNEL__",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "--sysroot=xyz",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "--sysroot=xyz",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc sanitizer args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,--no-undefined",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,-z,defs",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=1",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=2",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fsanitize=fuzzer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-march=silvermont",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont-plus",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-march=silvermont",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=skylake",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-march=corei7",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc clang-syntax",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang++",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang++",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "CLANG=somepath/clang"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "somepath/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang [-ftrapv main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang sysroot wrapper common",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-noccache",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=someNonExistingPath"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-nopie",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-D__KERNEL__",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-fno-stack-protector",
- "-D__KERNEL__",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "--sysroot=xyz",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "--sysroot=xyz",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang sanitizer args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,--no-undefined",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,-z,defs",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=1",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=2",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-fno-omit-frame-pointer",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-fno-omit-frame-pointer",
- "-fno-experimental-new-pass-manager",
- "-fsanitize=fuzzer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-mno-movbe",
- "-pass-exit-codes",
- "-Wclobbered",
- "-Wno-psabi",
- "-Wlogical-op",
- "-Wmissing-parameter-type",
- "-Wold-style-declaration",
- "-Woverride-init",
- "-Wunsafe-loop-optimizations",
- "-Wstrict-aliasing=abc",
- "-finline-limit=abc",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=cpp",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-Wno-#warnings",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=maybe-uninitialized",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-Wno-error=uninitialized",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-Wno-error=unused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-Wno-unused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wunused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-Wunused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-only=-someflag",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-someflag",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "bisect",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/ccache",
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/ccache",
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "force disable werror",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang-tidy",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerrorclang-tidy failed"
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- }
-]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/bisect.json b/compiler_wrapper/testdata/cros_hardened_golden/bisect.json
new file mode 100644
index 00000000..8ea10ed9
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/bisect.json
@@ -0,0 +1,116 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/ccache",
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/ccache",
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..a6fa699f
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_ftrapv_maincc_target_specific.json
@@ -0,0 +1,425 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..3398782e
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_maincc_target_specific.json
@@ -0,0 +1,407 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json
new file mode 100644
index 00000000..d838707a
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_path.json
@@ -0,0 +1,365 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang++",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang++",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "CLANG=somepath/clang"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "somepath/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json
new file mode 100644
index 00000000..83eebc81
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_sanitizer_args.json
@@ -0,0 +1,237 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,--no-undefined",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,-z,defs",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=1",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=2",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-fno-omit-frame-pointer",
+ "-fno-experimental-new-pass-manager",
+ "-fsanitize=fuzzer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json b/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json
new file mode 100644
index 00000000..af8a1435
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_specific_args.json
@@ -0,0 +1,340 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-mno-movbe",
+ "-pass-exit-codes",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
+ "-Wstrict-aliasing=abc",
+ "-finline-limit=abc",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=cpp",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-Wno-#warnings",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=maybe-uninitialized",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-Wno-error=uninitialized",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-Wno-error=unused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-Wno-unused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wunused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-Wunused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-only=-someflag",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-someflag",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..a39f9082
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clang_sysroot_wrapper_common.json
@@ -0,0 +1,259 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-noccache",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=someNonExistingPath"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-nopie",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-D__KERNEL__",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fno-stack-protector",
+ "-D__KERNEL__",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "--sysroot=xyz",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "--sysroot=xyz",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json b/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json
new file mode 100644
index 00000000..6776196f
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/clangtidy.json
@@ -0,0 +1,335 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerrorclang-tidy failed"
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json
new file mode 100644
index 00000000..aed56d07
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/force_disable_werror.json
@@ -0,0 +1,221 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json
new file mode 100644
index 00000000..572f5531
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_clang_syntax.json
@@ -0,0 +1,249 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_maincc_target_specific.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_maincc_target_specific.json
new file mode 100644
index 00000000..76d38599
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_maincc_target_specific.json
@@ -0,0 +1,329 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_path.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_path.json
new file mode 100644
index 00000000..94cda05d
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_path.json
@@ -0,0 +1,82 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_sanitizer_args.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_sanitizer_args.json
new file mode 100644
index 00000000..bddac1d2
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_sanitizer_args.json
@@ -0,0 +1,201 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,--no-undefined",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,-z,defs",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=1",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=2",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fsanitize=fuzzer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_specific_args.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_specific_args.json
new file mode 100644
index 00000000..b7a56ce4
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_specific_args.json
@@ -0,0 +1,119 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-march=silvermont",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont-plus",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-march=silvermont",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=skylake",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-march=corei7",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_golden/gcc_sysroot_wrapper_common.json b/compiler_wrapper/testdata/cros_hardened_golden/gcc_sysroot_wrapper_common.json
new file mode 100644
index 00000000..fd81ad1e
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_golden/gcc_sysroot_wrapper_common.json
@@ -0,0 +1,220 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-noccache",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=someNonExistingPath"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-nopie",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-D__KERNEL__",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-fno-stack-protector",
+ "-D__KERNEL__",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "--sysroot=xyz",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "--sysroot=xyz",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden.json
deleted file mode 100644
index 7414b94c..00000000
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden.json
+++ /dev/null
@@ -1,1273 +0,0 @@
-[
- {
- "name": "gcc path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang++",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang++",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "CLANG=somepath/clang"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "somepath/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/somedir/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/somedir/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "gcc clang-syntax",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-fno-reorder-blocks-and-partition",
- "-Wno-unused-local-typedefs",
- "-Wno-maybe-uninitialized",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-mno-movbe"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "bisect",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "force disable werror",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang-tidy",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerrorclang-tidy failed"
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-grecord-gcc-switches",
- "-fno-addrsig",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fstack-protector-strong",
- "-fPIE",
- "-pie",
- "-D_FORTIFY_SOURCE=2",
- "-fno-omit-frame-pointer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- }
-]
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json
new file mode 100644
index 00000000..fc1e8bd4
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/bisect.json
@@ -0,0 +1,102 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json
new file mode 100644
index 00000000..78169313
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clang_path.json
@@ -0,0 +1,323 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang++",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang++",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "CLANG=somepath/clang"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "somepath/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/somedir/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/somedir/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json
new file mode 100644
index 00000000..6776196f
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/clangtidy.json
@@ -0,0 +1,335 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerrorclang-tidy failed"
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..4fd9304b
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/force_disable_werror.json
@@ -0,0 +1,186 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..341de8a3
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_clang_syntax.json
@@ -0,0 +1,237 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-grecord-gcc-switches",
+ "-fno-addrsig",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_path.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_path.json
new file mode 100644
index 00000000..59cbf865
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden/gcc_path.json
@@ -0,0 +1,70 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-fno-reorder-blocks-and-partition",
+ "-Wno-unused-local-typedefs",
+ "-Wno-maybe-uninitialized",
+ "-fstack-protector-strong",
+ "-fPIE",
+ "-pie",
+ "-D_FORTIFY_SOURCE=2",
+ "-fno-omit-frame-pointer",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden.json b/compiler_wrapper/testdata/cros_nonhardened_golden.json
deleted file mode 100644
index 059ce2c4..00000000
--- a/compiler_wrapper/testdata/cros_nonhardened_golden.json
+++ /dev/null
@@ -1,3436 +0,0 @@
-[
- {
- "name": "gcc path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "gcc [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-win-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv7m-cros-win-gnu-gcc.real",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-linux-eabi-gcc.real",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./armv8m-cros-win-gnu-gcc.real",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-mthumb",
- "main.cc"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc sysroot wrapper common",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-noccache",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=someNonExistingPath"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-nopie",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-D__KERNEL__",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fno-stack-protector",
- "-D__KERNEL__",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "--sysroot=xyz",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "--sysroot=xyz",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc sanitizer args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,--no-undefined",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,-z,defs",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=1",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=2",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fsanitize=kernel-address",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-fsanitize=fuzzer",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-march=silvermont",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=goldmont-plus",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-march=silvermont",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-march=skylake",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "-march=corei7",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "gcc clang-syntax",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-clang-syntax",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-fsyntax-only",
- "-stdlib=libstdc++"
- ]
- }
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "./x86_64-cros-linux-gnu-gcc.real",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang path",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang++",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang++",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "CLANG=somepath/clang"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "somepath/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-path=/somedir",
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "/somedir/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-resource-dir=someResourceDir",
- "--gcc-toolchain=/usr",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang [main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang [-ftrapv main.cc] target specific",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv7m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv7m-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv7m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-linux-eabi-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-linux-eabi",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-linux-eabi"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./armv8m-cros-win-gnu-clang",
- "args": [
- "-ftrapv",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/armv8m-cros-win-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-mthumb",
- "-ftrapv",
- "main.cc",
- "-B../../bin",
- "-target",
- "armv8m-cros-win-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang sysroot wrapper common",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc",
- "args": [
- "-noccache",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-gcc.real",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Wno-maybe-uninitialized",
- "-Wno-unused-local-typedefs",
- "-Wno-deprecated-declarations",
- "-Wtrampolines",
- "main.cc",
- "-mno-movbe"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=someNonExistingPath"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-nopie",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-D__KERNEL__",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fno-stack-protector",
- "-D__KERNEL__",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "--sysroot=xyz",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "--sysroot=xyz",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang sanitizer args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,--no-undefined",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-Wl,-z,defs",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=1",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=kernel-address",
- "-D_FORTIFY_SOURCE=2",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fsanitize=kernel-address",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-fsanitize=fuzzer",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-fno-experimental-new-pass-manager",
- "-fsanitize=fuzzer",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "clang specific args",
- "records": [
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-mno-movbe",
- "-pass-exit-codes",
- "-Wclobbered",
- "-Wno-psabi",
- "-Wlogical-op",
- "-Wmissing-parameter-type",
- "-Wold-style-declaration",
- "-Woverride-init",
- "-Wunsafe-loop-optimizations",
- "-Wstrict-aliasing=abc",
- "-finline-limit=abc",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=cpp",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-Wno-#warnings",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=maybe-uninitialized",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-Wno-error=uninitialized",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-error=unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-Wno-error=unused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wno-unused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-Wno-unused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Wunused-but-set-variable",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-Wunused-variable",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "-Xclang-only=-someflag",
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "-someflag",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- }
- ]
- },
- {
- "name": "bisect",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/ccache",
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "BISECT_STAGE=someBisectStage",
- "BISECT_DIR=someBisectDir"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "/usr/bin/python2",
- "args": [
- "-c",
- "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
- "someBisectStage",
- "someBisectDir",
- "/usr/bin/ccache",
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "force disable werror",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "FORCE_DISABLE_WERROR=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stderr": "-Werror originalerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "ccache",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu",
- "-Wno-error"
- ],
- "env_updates": [
- "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
- "CCACHE_DIR=/var/cache/distfiles/ccache",
- "CCACHE_UMASK=002",
- "CCACHE_CPP2=yes"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- },
- {
- "name": "clang-tidy",
- "records": [
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- }
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerrorclang-tidy failed"
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- }
- ]
- },
- {
- "wd": "/tmp/stable",
- "env": [
- "WITH_TIDY=1",
- "GOMACC_PATH=/tmp/stable/gomacc"
- ],
- "wrapper": {
- "cmd": {
- "path": "./x86_64-cros-linux-gnu-clang",
- "args": [
- "main.cc"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- },
- "cmds": [
- {
- "cmd": {
- "path": "../../usr/bin/clang",
- "args": [
- "--print-resource-dir"
- ]
- },
- "stdout": "someResourceDir"
- },
- {
- "cmd": {
- "path": "../../usr/bin/clang-tidy",
- "args": [
- "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
- "main.cc",
- "--",
- "-resource-dir=someResourceDir",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- }
- },
- {
- "cmd": {
- "path": "/tmp/stable/gomacc",
- "args": [
- "../../usr/bin/clang",
- "--sysroot=/usr/x86_64-cros-linux-gnu",
- "-Qunused-arguments",
- "-Wno-tautological-constant-compare",
- "-Wno-tautological-unsigned-enum-zero-compare",
- "-Wno-unknown-warning-option",
- "-Wno-section",
- "-static-libgcc",
- "main.cc",
- "-B../../bin",
- "-target",
- "x86_64-cros-linux-gnu"
- ]
- },
- "stdout": "somemessage",
- "stderr": "someerror",
- "exitcode": 1
- }
- ]
- }
- ]
- }
-]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json b/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json
new file mode 100644
index 00000000..e8a5653c
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/bisect.json
@@ -0,0 +1,102 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/ccache",
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "BISECT_STAGE=someBisectStage",
+ "BISECT_DIR=someBisectDir"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/python2",
+ "args": [
+ "-c",
+ "import bisect_driver; sys.exit(bisect_driver.bisect_driver(sys.argv[1], sys.argv[2], sys.argv[3:]))",
+ "someBisectStage",
+ "someBisectDir",
+ "/usr/bin/ccache",
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..a90fd6b4
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_ftrapv_maincc_target_specific.json
@@ -0,0 +1,366 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "-ftrapv",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "-ftrapv",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..cc0a2ee9
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_maincc_target_specific.json
@@ -0,0 +1,348 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv7m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-linux-eabi"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-mthumb",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "armv8m-cros-win-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json
new file mode 100644
index 00000000..0141b7bb
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_path.json
@@ -0,0 +1,316 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang++",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang++",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "CLANG=somepath/clang"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "somepath/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-path=/somedir",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "/somedir/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-resource-dir=someResourceDir",
+ "--gcc-toolchain=/usr",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json
new file mode 100644
index 00000000..05209ee3
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sanitizer_args.json
@@ -0,0 +1,207 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,--no-undefined",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,-z,defs",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=1",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=2",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fno-experimental-new-pass-manager",
+ "-fsanitize=fuzzer",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json
new file mode 100644
index 00000000..c8d16bfe
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_specific_args.json
@@ -0,0 +1,291 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-mno-movbe",
+ "-pass-exit-codes",
+ "-Wclobbered",
+ "-Wno-psabi",
+ "-Wlogical-op",
+ "-Wmissing-parameter-type",
+ "-Wold-style-declaration",
+ "-Woverride-init",
+ "-Wunsafe-loop-optimizations",
+ "-Wstrict-aliasing=abc",
+ "-finline-limit=abc",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=cpp",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-Wno-#warnings",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=maybe-uninitialized",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-Wno-error=uninitialized",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-error=unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-Wno-error=unused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wno-unused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-Wno-unused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Wunused-but-set-variable",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-Wunused-variable",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-Xclang-only=-someflag",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-someflag",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
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
new file mode 100644
index 00000000..7f9760d1
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clang_sysroot_wrapper_common.json
@@ -0,0 +1,225 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-noccache",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=someNonExistingPath"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-nopie",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "-D__KERNEL__",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "-fno-stack-protector",
+ "-D__KERNEL__",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "--sysroot=xyz",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "--sysroot=xyz",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json b/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json
new file mode 100644
index 00000000..22dd9ddc
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/clangtidy.json
@@ -0,0 +1,279 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerrorclang-tidy failed"
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "WITH_TIDY=1",
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--print-resource-dir"
+ ]
+ },
+ "stdout": "someResourceDir"
+ },
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang-tidy",
+ "args": [
+ "-checks=*,google*,-bugprone-narrowing-conversions,-cppcoreguidelines-*,-fuchsia-*,-google-build-using-namespace,-google-default-arguments,-google-explicit-constructor,-google-readability*,-google-runtime-int,-google-runtime-references,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-no-array-decay,-hicpp-signed-bitwise,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-llvm-namespace-comment,-misc-non-private-member-variables-in-classes,-misc-unused-parameters,-modernize-*,-readability-*",
+ "main.cc",
+ "--",
+ "-resource-dir=someResourceDir",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json b/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json
new file mode 100644
index 00000000..a99c1067
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/force_disable_werror.json
@@ -0,0 +1,186 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "FORCE_DISABLE_WERROR=1"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stderr": "-Werror originalerror",
+ "exitcode": 1
+ },
+ {
+ "cmd": {
+ "path": "ccache",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-Wno-error"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002",
+ "CCACHE_CPP2=yes"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json
new file mode 100644
index 00000000..81b81a2f
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_clang_syntax.json
@@ -0,0 +1,209 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "../../usr/bin/clang",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-clang-syntax",
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "../../usr/bin/clang",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Qunused-arguments",
+ "-Wno-tautological-constant-compare",
+ "-Wno-tautological-unsigned-enum-zero-compare",
+ "-Wno-unknown-warning-option",
+ "-Wno-section",
+ "-static-libgcc",
+ "main.cc",
+ "-B../../bin",
+ "-target",
+ "x86_64-cros-linux-gnu",
+ "-fsyntax-only",
+ "-stdlib=libstdc++"
+ ]
+ }
+ },
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_maincc_target_specific.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_maincc_target_specific.json
new file mode 100644
index 00000000..ff281966
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_maincc_target_specific.json
@@ -0,0 +1,297 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-eabi",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-win-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/armv7m-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/armv7m-cros-linux-eabi",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv7m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv7m-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/armv7m-cros-win-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv7m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/armv8m-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-linux-eabi-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-linux-eabi-gcc.real",
+ "--sysroot=/usr/armv8m-cros-linux-eabi",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-linux-eabi",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./armv8m-cros-win-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./armv8m-cros-win-gnu-gcc.real",
+ "--sysroot=/usr/armv8m-cros-win-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-mthumb",
+ "main.cc"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/armv8m-cros-win-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_path.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_path.json
new file mode 100644
index 00000000..302b57e7
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_path.json
@@ -0,0 +1,74 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ },
+ "stdout": "somemessage",
+ "stderr": "someerror",
+ "exitcode": 1
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sanitizer_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sanitizer_args.json
new file mode 100644
index 00000000..639dc524
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sanitizer_args.json
@@ -0,0 +1,181 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,--no-undefined",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-Wl,-z,defs",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=1",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=kernel-address",
+ "-D_FORTIFY_SOURCE=2",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fsanitize=kernel-address",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-fsanitize=fuzzer",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fsanitize=fuzzer",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_specific_args.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_specific_args.json
new file mode 100644
index 00000000..6e519429
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_specific_args.json
@@ -0,0 +1,107 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-march=silvermont",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=goldmont-plus",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-march=silvermont",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-march=skylake",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-march=corei7",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sysroot_wrapper_common.json b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sysroot_wrapper_common.json
new file mode 100644
index 00000000..26481cb5
--- /dev/null
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden/gcc_sysroot_wrapper_common.json
@@ -0,0 +1,201 @@
+[
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-noccache",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc.real",
+ "args": [
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=someNonExistingPath"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "env": [
+ "GOMACC_PATH=/tmp/stable/gomacc"
+ ],
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/tmp/stable/gomacc",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-nopie",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "-D__KERNEL__",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "--sysroot=/usr/x86_64-cros-linux-gnu",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "-fno-stack-protector",
+ "-D__KERNEL__",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
+ "--sysroot=xyz",
+ "main.cc"
+ ]
+ }
+ },
+ "cmds": [
+ {
+ "cmd": {
+ "path": "/usr/bin/ccache",
+ "args": [
+ "./x86_64-cros-linux-gnu-gcc.real",
+ "-Wno-maybe-uninitialized",
+ "-Wno-unused-local-typedefs",
+ "-Wno-deprecated-declarations",
+ "-Wtrampolines",
+ "--sysroot=xyz",
+ "main.cc",
+ "-mno-movbe"
+ ],
+ "env_updates": [
+ "CCACHE_BASEDIR=/usr/x86_64-cros-linux-gnu",
+ "CCACHE_DIR=/var/cache/distfiles/ccache",
+ "CCACHE_UMASK=002"
+ ]
+ }
+ }
+ ]
+ }
+]