diff options
-rw-r--r-- | cc/cc.go | 11 | ||||
-rw-r--r-- | cc/mips64_device.go | 4 | ||||
-rw-r--r-- | cc/toolchain.go | 5 |
3 files changed, 14 insertions, 6 deletions
@@ -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 } |