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
This commit is contained in:
11
cc/cc.go
11
cc/cc.go
@@ -1014,7 +1014,6 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
|
|||||||
} else {
|
} else {
|
||||||
flags.GlobalFlags = append(flags.GlobalFlags, toolchain.ToolchainCflags())
|
flags.GlobalFlags = append(flags.GlobalFlags, toolchain.ToolchainCflags())
|
||||||
}
|
}
|
||||||
flags.LdFlags = append(flags.LdFlags, toolchain.ToolchainLdflags())
|
|
||||||
|
|
||||||
if !ctx.sdk() {
|
if !ctx.sdk() {
|
||||||
if ctx.Host() && !flags.Clang {
|
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())
|
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 {
|
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
|
return flags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -147,10 +147,6 @@ func (t *toolchainMips64) GccVersion() string {
|
|||||||
return mips64GccVersion
|
return mips64GccVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *toolchainMips64) ToolchainLdflags() string {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *toolchainMips64) ToolchainCflags() string {
|
func (t *toolchainMips64) ToolchainCflags() string {
|
||||||
return t.toolchainCflags
|
return t.toolchainCflags
|
||||||
}
|
}
|
||||||
|
@@ -60,6 +60,7 @@ type Toolchain interface {
|
|||||||
ClangSupported() bool
|
ClangSupported() bool
|
||||||
ClangTriple() string
|
ClangTriple() string
|
||||||
ToolchainClangCflags() string
|
ToolchainClangCflags() string
|
||||||
|
ToolchainClangLdflags() string
|
||||||
ClangAsflags() string
|
ClangAsflags() string
|
||||||
ClangCflags() string
|
ClangCflags() string
|
||||||
ClangCppflags() string
|
ClangCppflags() string
|
||||||
@@ -104,6 +105,10 @@ func (toolchainBase) ToolchainClangCflags() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (toolchainBase) ToolchainClangLdflags() string {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (toolchainBase) ClangSupported() bool {
|
func (toolchainBase) ClangSupported() bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user