diff options
Diffstat (limited to 'compiler_wrapper/libgcc_flags.go')
-rw-r--r-- | compiler_wrapper/libgcc_flags.go | 25 |
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") + } +} |