aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/libgcc_flags.go
blob: 72fa8381fce7609414466cfeeb167662856e9c6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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")
	}
}