aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/libgcc_flags.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/libgcc_flags.go')
-rw-r--r--compiler_wrapper/libgcc_flags.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/compiler_wrapper/libgcc_flags.go b/compiler_wrapper/libgcc_flags.go
new file mode 100644
index 00000000..72fa8381
--- /dev/null
+++ b/compiler_wrapper/libgcc_flags.go
@@ -0,0 +1,25 @@
+// Copyright 2021 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package main
+
+import (
+ "strings"
+)
+
+// Add "-static-libgcc" flag to compiler command line unless
+// already specified by user or user has passed "-shared-libgcc".
+func processLibGCCFlags(builder *commandBuilder) {
+ fromUser := false
+ for _, arg := range builder.args {
+ if arg.fromUser && (strings.HasPrefix(arg.value, "-shared-libgcc") ||
+ strings.HasPrefix(arg.value, "-static-libgcc")) {
+ fromUser = true
+ break
+ }
+ }
+ if !fromUser {
+ builder.addPreUserArgs("-static-libgcc")
+ }
+}