Only link the profile extras lib for device variant.
Bug: 297082598 Test: CI Change-Id: I455b39119c27b45b368a80cab2901d496a250b96
This commit is contained in:
parent
c1fb159206
commit
aa89f2c61b
1 changed files with 12 additions and 9 deletions
|
@ -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,19 +161,22 @@ func (cov *coverage) flags(ctx ModuleContext, flags Flags, deps PathDeps) (Flags
|
|||
if gcovCoverage {
|
||||
flags.Local.LdFlags = append(flags.Local.LdFlags, "--coverage")
|
||||
|
||||
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")
|
||||
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")
|
||||
}
|
||||
|
||||
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")
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,7 +184,7 @@ func (cov *coverage) flags(ctx ModuleContext, flags Flags, deps PathDeps) (Flags
|
|||
}
|
||||
|
||||
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 {
|
||||
|
|
Loading…
Reference in a new issue