aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/cc.go11
-rw-r--r--cc/mips64_device.go4
-rw-r--r--cc/toolchain.go5
3 files changed, 14 insertions, 6 deletions
diff --git a/cc/cc.go b/cc/cc.go
index 9f582cb4..56655b96 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1014,7 +1014,6 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
} else {
flags.GlobalFlags = append(flags.GlobalFlags, toolchain.ToolchainCflags())
}
- flags.LdFlags = append(flags.LdFlags, toolchain.ToolchainLdflags())
if !ctx.sdk() {
if ctx.Host() && !flags.Clang {
@@ -1153,7 +1152,9 @@ func (linker *baseLinker) flags(ctx ModuleContext, flags Flags) Flags {
}
}
- if !flags.Clang {
+ if flags.Clang {
+ flags.LdFlags = append(flags.LdFlags, toolchain.ToolchainClangLdflags())
+ } else {
flags.LdFlags = append(flags.LdFlags, toolchain.ToolchainLdflags())
}
@@ -1544,6 +1545,12 @@ func (*objectLinker) deps(ctx BaseModuleContext, deps Deps) Deps {
}
func (*objectLinker) flags(ctx ModuleContext, flags Flags) Flags {
+ if flags.Clang {
+ flags.LdFlags = append(flags.LdFlags, ctx.toolchain().ToolchainClangLdflags())
+ } else {
+ flags.LdFlags = append(flags.LdFlags, ctx.toolchain().ToolchainLdflags())
+ }
+
return flags
}
diff --git a/cc/mips64_device.go b/cc/mips64_device.go
index 8e433c6c..65e6e267 100644
--- a/cc/mips64_device.go
+++ b/cc/mips64_device.go
@@ -147,10 +147,6 @@ func (t *toolchainMips64) GccVersion() string {
return mips64GccVersion
}
-func (t *toolchainMips64) ToolchainLdflags() string {
- return ""
-}
-
func (t *toolchainMips64) ToolchainCflags() string {
return t.toolchainCflags
}
diff --git a/cc/toolchain.go b/cc/toolchain.go
index 1f51384a..397ec090 100644
--- a/cc/toolchain.go
+++ b/cc/toolchain.go
@@ -60,6 +60,7 @@ type Toolchain interface {
ClangSupported() bool
ClangTriple() string
ToolchainClangCflags() string
+ ToolchainClangLdflags() string
ClangAsflags() string
ClangCflags() string
ClangCppflags() string
@@ -104,6 +105,10 @@ func (toolchainBase) ToolchainClangCflags() string {
return ""
}
+func (toolchainBase) ToolchainClangLdflags() string {
+ return ""
+}
+
func (toolchainBase) ClangSupported() bool {
return true
}