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
diff --git a/cc/cc.go b/cc/cc.go
index 9f582cb..56655b9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1014,7 +1014,6 @@
} 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 @@
}
}
- 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) 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
}