diff options
author | Dan Willemsen <dwillemsen@google.com> | 2016-03-30 17:33:52 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2016-03-30 21:16:34 -0700 |
commit | e71749280e895d588a229ba5a64fc8a4f5a71a85 (patch) | |
tree | 8c56e30277b84bba7340778816d8137350e06397 /cc | |
parent | 01fdd3d8c1867d71d718ed900ecf41f7f7245d18 (diff) | |
download | build_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
Diffstat (limited to 'cc')
-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 } |