aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper
diff options
context:
space:
mode:
authorTobias Bosch <tbosch@google.com>2019-07-19 02:56:31 -0700
committerTobias Bosch <tbosch@google.com>2019-07-22 08:06:23 +0000
commite23905c00b38f3a2858018040d73ec402e97c15f (patch)
tree6f022842217f1ba66f4427f06eacbe9707c8ccff /compiler_wrapper
parentcfa8c2459f3957b2557dfe67d830550f12c14364 (diff)
downloadtoolchain-utils-e23905c00b38f3a2858018040d73ec402e97c15f.tar.gz
Sync with recent changes to old wrapper.
Old wrapper changes: https://chromium.git.corp.google.com/chromiumos/overlays/chromiumos-overlay/+/bebf19ee4322c26d7cb548c8f4419dfe1c6e3c11 https://chromium.git.corp.google.com/chromiumos/overlays/chromiumos-overlay/+/cc6e225d3894f99b320584b2f41ff6a68f76d6a7 BUG=chromium:773875 TEST=unit test Change-Id: I927bcb6082d1b67ca9efde0001e43e0a0a36c3b4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1710403 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
Diffstat (limited to 'compiler_wrapper')
-rw-r--r--compiler_wrapper/config.go2
-rw-r--r--compiler_wrapper/cros_hardened_config_test.go4
-rw-r--r--compiler_wrapper/sanitizer_flags.go20
-rw-r--r--compiler_wrapper/sanitizer_flags_test.go21
-rw-r--r--compiler_wrapper/testdata/cros_hardened_golden.json146
-rw-r--r--compiler_wrapper/testdata/cros_hardened_noccache_golden.json26
-rw-r--r--compiler_wrapper/testdata/cros_nonhardened_golden.json136
7 files changed, 350 insertions, 5 deletions
diff --git a/compiler_wrapper/config.go b/compiler_wrapper/config.go
index 92565592..9dce8fe6 100644
--- a/compiler_wrapper/config.go
+++ b/compiler_wrapper/config.go
@@ -93,6 +93,7 @@ func getCrosHardenedConfig(useCCache bool) *config {
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
},
newWarningsDir: "/tmp/fatal_clang_warnings",
}
@@ -120,6 +121,7 @@ func getCrosNonHardenedConfig(useCCache bool) *config {
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
},
newWarningsDir: "/tmp/fatal_clang_warnings",
}
diff --git a/compiler_wrapper/cros_hardened_config_test.go b/compiler_wrapper/cros_hardened_config_test.go
index 4629adb8..7802449b 100644
--- a/compiler_wrapper/cros_hardened_config_test.go
+++ b/compiler_wrapper/cros_hardened_config_test.go
@@ -428,6 +428,10 @@ func createSysrootWrapperCommonGoldenInputs(compiler string, gomaEnv string) gol
Cmds: okResults,
},
{
+ WrapperCmd: newGoldenCmd(wrapperPath, "-fsanitize=fuzzer", mainCc),
+ Cmds: okResults,
+ },
+ {
WrapperCmd: newGoldenCmd(wrapperPath, "--sysroot=xyz", mainCc),
Cmds: okResults,
},
diff --git a/compiler_wrapper/sanitizer_flags.go b/compiler_wrapper/sanitizer_flags.go
index 3ec62b67..32f2cb78 100644
--- a/compiler_wrapper/sanitizer_flags.go
+++ b/compiler_wrapper/sanitizer_flags.go
@@ -9,18 +9,21 @@ import (
)
func processSanitizerFlags(builder *commandBuilder) {
- filterSanitizerFlags := false
+ hasSanitizeFlags := false
+ hasSanitizeFuzzerFlags := false
for _, arg := range builder.args {
// TODO: This should probably be -fsanitize= to not match on
// e.g. -fsanitize-blacklist
if arg.fromUser && strings.HasPrefix(arg.value, "-fsanitize") {
- filterSanitizerFlags = true
- break
+ hasSanitizeFlags = true
+ if strings.Contains(arg.value, "fuzzer") {
+ hasSanitizeFuzzerFlags = true
+ }
}
}
- if filterSanitizerFlags {
+ if hasSanitizeFlags {
// Flags not supported by sanitizers (ASan etc.)
- var unsupportedSanitizerFlags = map[string]bool{
+ unsupportedSanitizerFlags := map[string]bool{
"-D_FORTIFY_SOURCE=1": true,
"-D_FORTIFY_SOURCE=2": true,
"-Wl,--no-undefined": true,
@@ -36,5 +39,12 @@ func processSanitizerFlags(builder *commandBuilder) {
}
return arg.value
})
+ if hasSanitizeFuzzerFlags && builder.target.compilerType == clangType {
+ fuzzerFlagsToAdd := []string{
+ // TODO: This flag should be removed once fuzzer works with new pass manager
+ "-fno-experimental-new-pass-manager",
+ }
+ builder.addPreUserArgs(fuzzerFlagsToAdd...)
+ }
}
}
diff --git a/compiler_wrapper/sanitizer_flags_test.go b/compiler_wrapper/sanitizer_flags_test.go
index a401d58e..741f7732 100644
--- a/compiler_wrapper/sanitizer_flags_test.go
+++ b/compiler_wrapper/sanitizer_flags_test.go
@@ -98,3 +98,24 @@ func TestKeepSanitizerFlagsIfSanitizeGivenInCommonFlags(t *testing.T) {
}
})
}
+
+func TestAddFuzzerFlagsForClang(t *testing.T) {
+ withTestContext(t, func(ctx *testContext) {
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg,
+ ctx.newCommand(clangX86_64, "-fsanitize=fuzzer", mainCc)))
+ if err := verifyArgOrder(cmd, "-fno-experimental-new-pass-manager",
+ "-fsanitize=fuzzer", mainCc); err != nil {
+ t.Error(err)
+ }
+ })
+}
+
+func TestOmitFuzzerFlagsForGcc(t *testing.T) {
+ withTestContext(t, func(ctx *testContext) {
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg,
+ ctx.newCommand(gccX86_64, "-fsanitize=fuzzer", mainCc)))
+ if err := verifyArgCount(cmd, 0, "-fno-experimental-new-pass-manager"); err != nil {
+ t.Error(err)
+ }
+ })
+}
diff --git a/compiler_wrapper/testdata/cros_hardened_golden.json b/compiler_wrapper/testdata/cros_hardened_golden.json
index 94d3e83b..e80cd882 100644
--- a/compiler_wrapper/testdata/cros_hardened_golden.json
+++ b/compiler_wrapper/testdata/cros_hardened_golden.json
@@ -765,6 +765,45 @@
"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"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
"--sysroot=xyz",
"main.cc"
]
@@ -948,6 +987,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1016,6 +1056,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1078,6 +1119,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1124,6 +1166,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1196,6 +1239,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1243,6 +1287,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1290,6 +1335,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1337,6 +1383,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1391,6 +1438,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1450,6 +1498,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1503,6 +1552,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1557,6 +1607,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1601,6 +1652,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1645,6 +1697,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1689,6 +1742,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1733,6 +1787,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1777,6 +1832,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1821,6 +1877,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1865,6 +1922,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1909,6 +1967,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1959,6 +2018,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2005,6 +2065,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2051,6 +2112,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2097,6 +2159,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2143,6 +2206,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2189,6 +2253,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2235,6 +2300,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2281,6 +2347,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2327,6 +2394,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2412,6 +2480,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2459,6 +2528,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2498,6 +2568,7 @@
"-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",
@@ -2541,6 +2612,7 @@
"-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",
@@ -2586,6 +2658,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2632,6 +2705,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2678,6 +2752,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2724,6 +2799,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2750,6 +2826,53 @@
"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"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
"--sysroot=xyz",
"main.cc"
]
@@ -2768,6 +2891,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2829,6 +2953,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2874,6 +2999,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2920,6 +3046,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -2966,6 +3093,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3012,6 +3140,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3058,6 +3187,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3104,6 +3234,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3163,6 +3294,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3219,6 +3351,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3274,6 +3407,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3321,6 +3455,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3354,6 +3489,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3404,6 +3540,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3437,6 +3574,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3505,6 +3643,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3529,6 +3668,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3583,6 +3723,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3608,6 +3749,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3664,6 +3806,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3692,6 +3835,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3749,6 +3893,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -3774,6 +3919,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
diff --git a/compiler_wrapper/testdata/cros_hardened_noccache_golden.json b/compiler_wrapper/testdata/cros_hardened_noccache_golden.json
index 9ed9bab8..7414b94c 100644
--- a/compiler_wrapper/testdata/cros_hardened_noccache_golden.json
+++ b/compiler_wrapper/testdata/cros_hardened_noccache_golden.json
@@ -98,6 +98,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -138,6 +139,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -178,6 +180,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -218,6 +221,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -265,6 +269,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -318,6 +323,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -370,6 +376,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -418,6 +425,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -480,6 +488,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -542,6 +551,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -588,6 +598,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -662,6 +673,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -711,6 +723,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -759,6 +772,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -799,6 +813,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -825,6 +840,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -868,6 +884,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -894,6 +911,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -956,6 +974,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -980,6 +999,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1034,6 +1054,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1059,6 +1080,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1115,6 +1137,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1143,6 +1166,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1200,6 +1224,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
@@ -1225,6 +1250,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fstack-protector-strong",
"-fPIE",
"-pie",
diff --git a/compiler_wrapper/testdata/cros_nonhardened_golden.json b/compiler_wrapper/testdata/cros_nonhardened_golden.json
index c82557da..05cacadb 100644
--- a/compiler_wrapper/testdata/cros_nonhardened_golden.json
+++ b/compiler_wrapper/testdata/cros_nonhardened_golden.json
@@ -694,6 +694,41 @@
"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"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-gcc",
+ "args": [
"--sysroot=xyz",
"main.cc"
]
@@ -859,6 +894,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -916,6 +952,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -967,6 +1004,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1006,6 +1044,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1067,6 +1106,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1107,6 +1147,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1147,6 +1188,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1187,6 +1229,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1234,6 +1277,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -1286,6 +1330,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -1332,6 +1377,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-resource-dir=someResourceDir",
"--gcc-toolchain=/usr",
"main.cc",
@@ -1379,6 +1425,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1416,6 +1463,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1453,6 +1501,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1490,6 +1539,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"main.cc",
"-B../../bin",
@@ -1528,6 +1578,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1565,6 +1616,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"main.cc",
"-B../../bin",
@@ -1603,6 +1655,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"main.cc",
"-B../../bin",
@@ -1641,6 +1694,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -1678,6 +1732,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"main.cc",
"-B../../bin",
@@ -1722,6 +1777,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-ftrapv",
"main.cc",
"-B../../bin",
@@ -1761,6 +1817,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-ftrapv",
"main.cc",
"-B../../bin",
@@ -1800,6 +1857,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-ftrapv",
"main.cc",
"-B../../bin",
@@ -1839,6 +1897,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -1879,6 +1938,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-ftrapv",
"main.cc",
"-B../../bin",
@@ -1918,6 +1978,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -1958,6 +2019,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -1998,6 +2060,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-ftrapv",
"main.cc",
"-B../../bin",
@@ -2037,6 +2100,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-mthumb",
"-ftrapv",
"main.cc",
@@ -2112,6 +2176,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2152,6 +2217,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2184,6 +2250,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2222,6 +2289,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fno-stack-protector",
"-D__KERNEL__",
"main.cc",
@@ -2263,6 +2331,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fsanitize=kernel-address",
"main.cc",
"-B../../bin",
@@ -2303,6 +2372,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fsanitize=kernel-address",
"main.cc",
"-B../../bin",
@@ -2343,6 +2413,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fsanitize=kernel-address",
"main.cc",
"-B../../bin",
@@ -2383,6 +2454,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-fsanitize=kernel-address",
"main.cc",
"-B../../bin",
@@ -2405,6 +2477,47 @@
"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"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "wd": "/tmp/stable",
+ "wrapper": {
+ "cmd": {
+ "path": "./x86_64-cros-linux-gnu-clang",
+ "args": [
"--sysroot=xyz",
"main.cc"
]
@@ -2421,6 +2534,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"--sysroot=xyz",
"main.cc",
"-B../../bin",
@@ -2475,6 +2589,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2513,6 +2628,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-Wno-#warnings",
"main.cc",
"-B../../bin",
@@ -2552,6 +2668,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-Wno-error=uninitialized",
"main.cc",
"-B../../bin",
@@ -2591,6 +2708,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-Wno-error=unused-variable",
"main.cc",
"-B../../bin",
@@ -2630,6 +2748,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-Wno-unused-variable",
"main.cc",
"-B../../bin",
@@ -2669,6 +2788,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-Wunused-variable",
"main.cc",
"-B../../bin",
@@ -2708,6 +2828,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"-someflag",
"main.cc",
"-B../../bin",
@@ -2760,6 +2881,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2809,6 +2931,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2857,6 +2980,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2897,6 +3021,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2923,6 +3048,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2966,6 +3092,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -2992,6 +3119,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3053,6 +3181,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3070,6 +3199,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3117,6 +3247,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3135,6 +3266,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3184,6 +3316,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3205,6 +3338,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3255,6 +3389,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",
@@ -3273,6 +3408,7 @@
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-Wno-section",
+ "-static-libgcc",
"main.cc",
"-B../../bin",
"-target",