aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/libgcc_flags.go
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2021-09-20 19:54:48 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-09-20 19:54:48 +0000
commita5563f87c4cc8c7ad74863cab522a658559d5ac1 (patch)
tree97dfb2f67dc005acec3bd24ba5f1334be2f90c09 /compiler_wrapper/libgcc_flags.go
parent62d7b3623cf52298dc4f25eeaabf8963119b0c12 (diff)
parentc2567cdcc24bd29c3804e1c3e30757739d0670f8 (diff)
downloadtoolchain-utils-a5563f87c4cc8c7ad74863cab522a658559d5ac1.tar.gz
Merging 48 commit(s) from Chromium's toolchain-utils am: 49872359c8 am: c2567cdcc2
Original change: https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/1831012 Change-Id: Ifc868030e4614765ec7c0a14028800740acec650
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")
+ }
+}