diff --git a/cc/binary.go b/cc/binary.go index 0fe44903c..9262f217e 100644 --- a/cc/binary.go +++ b/cc/binary.go @@ -220,18 +220,18 @@ func newBinary(hod android.HostOrDeviceSupported, bazelable bool) (*Module, *bin func (binary *binaryDecorator) linkerInit(ctx BaseModuleContext) { binary.baseLinker.linkerInit(ctx) - if !ctx.toolchain().Bionic() && !ctx.toolchain().Musl() { - if ctx.Os() == android.Linux { - // Unless explicitly specified otherwise, host static binaries are built with -static - // if HostStaticBinaries is true for the product configuration. - if binary.Properties.Static_executable == nil && ctx.Config().HostStaticBinaries() { - binary.Properties.Static_executable = BoolPtr(true) - } - } else { - // Static executables are not supported on Darwin or Windows - binary.Properties.Static_executable = nil + if ctx.Os().Linux() && ctx.Host() { + // Unless explicitly specified otherwise, host static binaries are built with -static + // if HostStaticBinaries is true for the product configuration. + if binary.Properties.Static_executable == nil && ctx.Config().HostStaticBinaries() { + binary.Properties.Static_executable = BoolPtr(true) } } + + if ctx.Darwin() || ctx.Windows() { + // Static executables are not supported on Darwin or Windows + binary.Properties.Static_executable = nil + } } func (binary *binaryDecorator) static() bool {