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

Commit 8f1340eb authored by Jared Duke's avatar Jared Duke Committed by Gerrit Code Review
Browse files

Merge "Support symbolized odex preopt output" into main

parents b137e55a 9c17ad6e
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -244,6 +244,7 @@ func dexpreoptCommand(ctx android.BuilderContext, globalSoong *GlobalSoongConfig
	}

	odexPath := module.BuildPath.InSameDir(ctx, "oat", arch.String(), pathtools.ReplaceExtension(base, "odex"))
	odexSymbolsPath := odexPath.ReplaceExtension(ctx, "symbols.odex")
	odexInstallPath := ToOdexPath(module.DexLocation, arch)
	if odexOnSystemOther(module, global) {
		odexInstallPath = filepath.Join(SystemOtherPartition, odexInstallPath)
@@ -258,7 +259,8 @@ func dexpreoptCommand(ctx android.BuilderContext, globalSoong *GlobalSoongConfig
	systemServerClasspathJars := global.AllSystemServerClasspathJars(ctx)

	rule.Command().FlagWithArg("mkdir -p ", filepath.Dir(odexPath.String()))
	rule.Command().FlagWithOutput("rm -f ", odexPath)
	rule.Command().FlagWithOutput("rm -f ", odexPath).
		FlagWithArg("rm -f ", odexSymbolsPath.String())

	if jarIndex := systemServerJars.IndexOfJar(module.Name); jarIndex >= 0 {
		// System server jars should be dexpreopted together: class loader context of each jar
@@ -386,7 +388,9 @@ func dexpreoptCommand(ctx android.BuilderContext, globalSoong *GlobalSoongConfig
		FlagWithArg("--instruction-set=", arch.String()).
		FlagWithArg("--instruction-set-variant=", global.CpuVariant[arch]).
		FlagWithArg("--instruction-set-features=", global.InstructionSetFeatures[arch]).
		Flag("--no-generate-debug-info").
		FlagWithOutput("--oat-symbols=", odexSymbolsPath).
		Flag("--generate-debug-info").
		Flag("--strip").
		Flag("--generate-build-id").
		Flag("--abort-on-hard-verifier-error").
		Flag("--force-determinism").