xref: /aosp_15_r20/external/toolchain-utils/compiler_wrapper/libgcc_flags.go (revision 760c253c1ed00ce9abd48f8546f08516e57485fe)
1// Copyright 2021 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package main
6
7import (
8	"strings"
9)
10
11// Add "-static-libgcc" flag to compiler command line unless
12// already specified by user or user has passed "-shared-libgcc".
13func processLibGCCFlags(builder *commandBuilder) {
14	fromUser := false
15	for _, arg := range builder.args {
16		if arg.fromUser && (strings.HasPrefix(arg.value, "-shared-libgcc") ||
17			strings.HasPrefix(arg.value, "-static-libgcc")) {
18			fromUser = true
19			break
20		}
21	}
22	if !fromUser {
23		builder.addPreUserArgs("-static-libgcc")
24	}
25}
26