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

Commit cd2b46aa authored by Inseob Kim's avatar Inseob Kim
Browse files

Fix rust snapshotInfo provider bug

We must pass pointer of pointer to correctly cash snapshotInfo and
register provider only once.

Bug: 271215084
Test: build
Change-Id: Ia7b43c7b97a8fcabd3b4d6ac8b990c622b6ceb6e
parent 3b7cb59e
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1516,7 +1516,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
		for _, lib := range deps.Rustlibs {
			if autoDep.depTag == rlibDepTag {
				// Handle the rlib deptag case
				addRlibDependency(actx, lib, mod, snapshotInfo, rlibDepVariations)
				addRlibDependency(actx, lib, mod, &snapshotInfo, rlibDepVariations)
			} else {
				// autoDep.depTag is a dylib depTag. Not all rustlibs may be available as a dylib however.
				// Check for the existence of the dylib deptag variant. Select it if available,
@@ -1527,7 +1527,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
					actx.AddVariationDependencies(autoDepVariations, autoDep.depTag, lib)
				} else {
					// If there's no dylib dependency available, try to add the rlib dependency instead.
					addRlibDependency(actx, lib, mod, snapshotInfo, rlibDepVariations)
					addRlibDependency(actx, lib, mod, &snapshotInfo, rlibDepVariations)
				}
			}
		}
@@ -1616,8 +1616,8 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
}

// addRlibDependency will add an rlib dependency, rewriting to the snapshot library if available.
func addRlibDependency(actx android.BottomUpMutatorContext, lib string, mod *Module, snapshotInfo *cc.SnapshotInfo, variations []blueprint.Variation) {
	lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs)
func addRlibDependency(actx android.BottomUpMutatorContext, lib string, mod *Module, snapshotInfo **cc.SnapshotInfo, variations []blueprint.Variation) {
	lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, snapshotInfo, actx).Rlibs)
	actx.AddVariationDependencies(variations, rlibDepTag, lib)
}