aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2016-03-30 17:33:52 -0700
committerDan Willemsen <dwillemsen@google.com>2016-03-30 21:16:34 -0700
commite71749280e895d588a229ba5a64fc8a4f5a71a85 (patch)
tree8c56e30277b84bba7340778816d8137350e06397
parent01fdd3d8c1867d71d718ed900ecf41f7f7245d18 (diff)
downloadbuild_soong-e71749280e895d588a229ba5a64fc8a4f5a71a85.tar.gz
build_soong-e71749280e895d588a229ba5a64fc8a4f5a71a85.tar.bz2
build_soong-e71749280e895d588a229ba5a64fc8a4f5a71a85.zip
Fix ToolchainLdflags calls
Instead of having the baseCompiler adjust the Ldflags, teach objectLinker about ToolchainLdflags. And don't assume that ToolchainLdflags will work for Clang too, add a ToolchainClangLdflags call. Change-Id: I5f546e46f32edf3fcf75a44bee2c5ee103bc5de3
-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
}