Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83bead46 authored by Colin Cross's avatar Colin Cross
Browse files

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
parent 572aeed6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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 {
+0 −3
Original line number Diff line number Diff line
@@ -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.