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

Commit aa89f2c6 authored by Yu Liu's avatar Yu Liu
Browse files

Only link the profile extras lib for device variant.

Bug: 297082598
Test: CI
Change-Id: I455b39119c27b45b368a80cab2901d496a250b96
parent c1fb1592
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ func getClangProfileLibraryName(ctx ModuleContextIntf) string {
}

func (cov *coverage) deps(ctx DepsContext, deps Deps) Deps {
	if cov.Properties.NeedCoverageVariant {
	if cov.Properties.NeedCoverageVariant && ctx.Device() {
		ctx.AddVariationDependencies([]blueprint.Variation{
			{Mutator: "link", Variation: "static"},
		}, CoverageDepTag, getGcovProfileLibraryName(ctx))
@@ -161,27 +161,30 @@ func (cov *coverage) flags(ctx ModuleContext, flags Flags, deps PathDeps) (Flags
		if gcovCoverage {
			flags.Local.LdFlags = append(flags.Local.LdFlags, "--coverage")

			if ctx.Device() {
				coverage := ctx.GetDirectDepWithTag(getGcovProfileLibraryName(ctx), CoverageDepTag).(*Module)
				deps.WholeStaticLibs = append(deps.WholeStaticLibs, coverage.OutputFile().Path())

				flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--wrap,getenv")
			}
		} else if clangCoverage {
			flags.Local.LdFlags = append(flags.Local.LdFlags, profileInstrFlag)
			if EnableContinuousCoverage(ctx) {
				flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-mllvm=-runtime-counter-relocation")
			}

			if ctx.Device() {
				coverage := ctx.GetDirectDepWithTag(getClangProfileLibraryName(ctx), CoverageDepTag).(*Module)
				deps.WholeStaticLibs = append(deps.WholeStaticLibs, coverage.OutputFile().Path())
				flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--wrap,open")
			}
		}
	}

	return flags, deps
}

func (cov *coverage) begin(ctx BaseModuleContext) {
	if ctx.Host() {
	if ctx.Host() && !ctx.Os().Linux() {
		// TODO(dwillemsen): because of -nodefaultlibs, we must depend on libclang_rt.profile-*.a
		// Just turn off for now.
	} else {