"bootstrap: true" modules are using bootstrap Bionic am: a4b9dd08c0

am: 356278b9fa

Change-Id: Ib071e7632d603238e9f101e4dc561f487433a5b2
This commit is contained in:
Jiyong Park 2019-01-30 21:08:55 -08:00 committed by android-build-merger
commit 67e52ef256
2 changed files with 15 additions and 2 deletions

View File

@ -249,7 +249,11 @@ func (binary *binaryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags
} else {
switch ctx.Os() {
case android.Android:
flags.DynamicLinker = "/system/bin/linker"
if ctx.bootstrap() {
flags.DynamicLinker = "/system/bin/bootstrap/linker"
} else {
flags.DynamicLinker = "/system/bin/linker"
}
if flags.Toolchain.Is64Bit() {
flags.DynamicLinker += "64"
}

View File

@ -261,6 +261,7 @@ type ModuleContextIntf interface {
apexName() string
hasStubsVariants() bool
isStubs() bool
bootstrap() bool
}
type ModuleContext interface {
@ -571,6 +572,10 @@ func (c *Module) HasStubsVariants() bool {
return false
}
func (c *Module) bootstrap() bool {
return Bool(c.Properties.Bootstrap)
}
type baseModuleContext struct {
android.BaseContext
moduleContextImpl
@ -741,6 +746,10 @@ func (ctx *moduleContextImpl) isStubs() bool {
return ctx.mod.IsStubs()
}
func (ctx *moduleContextImpl) bootstrap() bool {
return ctx.mod.bootstrap()
}
func newBaseModule(hod android.HostOrDeviceSupported, multilib android.Multilib) *Module {
return &Module{
hod: hod,
@ -1553,7 +1562,7 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
// If not building for APEX, use stubs only when it is from
// an APEX (and not from platform)
useThisDep = (depInPlatform != depIsStubs)
if c.inRecovery() || Bool(c.Properties.Bootstrap) {
if c.inRecovery() || c.bootstrap() {
// However, for recovery or bootstrap modules,
// always link to non-stub variant
useThisDep = !depIsStubs