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

Commit b882375f authored by Yu Liu's avatar Yu Liu Committed by Gerrit Code Review
Browse files

Merge "Only link the profile extras lib for device variant." into main

parents 833a00e3 aa89f2c6
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -91,7 +91,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))
@@ -184,27 +184,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 {