diff options
author | 2020-08-05 10:08:30 -0700 | |
---|---|---|
committer | 2020-08-05 10:23:07 -0700 | |
commit | f45e152e15773fab6cef521b55fdf88bba0841a2 (patch) | |
tree | 2c2f4eaef9477d47ad218677d08ec1e236eb8bcc /cc/coverage.go | |
parent | 9eb51fc9d4c4d6feae9492b7ab0cd288425c7e4c (diff) |
[cc/coverage] Pass directory to -fprofile-instr-generate
Bug: http://b/157081822
This will be used if LLVM_PROFILE_FILE is not set at runtime. Some
bionic tests are run without LLVM_PROFILE_FILE set and if they are run
from '/', they fail unable to write to '/default.profraw'. This may
affect other tests as well. Setting this to the value defined by
init.rc.
Test: Enable coverage for bionic, ensure relevant bionic-unit-tests
pass.
Change-Id: If1d0e16ce003149fb21d5472d10699ef6582e065
Diffstat (limited to 'cc/coverage.go')
-rw-r--r-- | cc/coverage.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cc/coverage.go b/cc/coverage.go index c8233247f..f378e0d20 100644 --- a/cc/coverage.go +++ b/cc/coverage.go @@ -22,6 +22,8 @@ import ( "android/soong/android" ) +const profileInstrFlag = "-fprofile-instr-generate=/data/misc/trace/clang-%p-%m.profraw" + type CoverageProperties struct { Native_coverage *bool @@ -92,7 +94,7 @@ func (cov *coverage) flags(ctx ModuleContext, flags Flags, deps PathDeps) (Flags // flags that the module may use. flags.Local.CFlags = append(flags.Local.CFlags, "-Wno-frame-larger-than=", "-O0") } else if clangCoverage { - flags.Local.CommonFlags = append(flags.Local.CommonFlags, "-fprofile-instr-generate", "-fcoverage-mapping", "-Wno-pass-failed") + flags.Local.CommonFlags = append(flags.Local.CommonFlags, profileInstrFlag, "-fcoverage-mapping", "-Wno-pass-failed") } } @@ -139,7 +141,7 @@ func (cov *coverage) flags(ctx ModuleContext, flags Flags, deps PathDeps) (Flags flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--wrap,getenv") } else if clangCoverage { - flags.Local.LdFlags = append(flags.Local.LdFlags, "-fprofile-instr-generate") + flags.Local.LdFlags = append(flags.Local.LdFlags, profileInstrFlag) coverage := ctx.GetDirectDepWithTag(getClangProfileLibraryName(ctx), CoverageDepTag).(*Module) deps.WholeStaticLibs = append(deps.WholeStaticLibs, coverage.OutputFile().Path()) |