Don't create native bridge variants of vendor modules

The logic in cc.Module.ImageMutatorBegin() to skip creating vendor
variants for native bridge modules stopped working when the image
mutator was moved before the arch mutator because the native
bridge variant hadn't been created yet.  Move the logic to the arch
mutator to avoid creating native bridge variants for vendor variants.

Fixes: 146486214
Test: lunch aosp_cf_x86_pasan-userdebug && m SANITIZE_TARGET=address
Change-Id: I46cff4905f929c9989d005f0ceb01388d47323c1
This commit is contained in:
Colin Cross 2019-12-18 10:45:46 -08:00
parent 572aeed6a4
commit 83bead469b
2 changed files with 4 additions and 4 deletions

View file

@ -824,7 +824,10 @@ func archMutator(mctx BottomUpMutatorContext) {
osTargets := mctx.Config().Targets[os]
image := base.commonProperties.ImageVariation
// Filter NativeBridge targets unless they are explicitly supported
if os == Android && !Bool(base.commonProperties.Native_bridge_supported) {
// Skip creating native bridge variants for vendor modules
if os == Android &&
!(Bool(base.commonProperties.Native_bridge_supported) && image == CoreVariation) {
var targets []Target
for _, t := range osTargets {
if !t.NativeBridge {

View file

@ -2572,9 +2572,6 @@ func (m *Module) ImageMutatorBegin(mctx android.BaseModuleContext) {
// If the device isn't compiling against the VNDK, we always
// use the core mode.
coreVariantNeeded = true
} else if m.Target().NativeBridge == android.NativeBridgeEnabled {
// Skip creating vendor variants for natvie bridge modules
coreVariantNeeded = true
} else if _, ok := m.linker.(*llndkStubDecorator); ok {
// LL-NDK stubs only exist in the vendor variant, since the
// real libraries will be used in the core variant.