Do not enable AFDO for coverage builds
This works around an incompatibility between coverage and the -fdebug-info-for-profiling flag. also moved -fdebug-info-for-profiling flag so that it is only applied to the libraries that enabled AFDO. Test: gzip -cd out/verbose.log.gz | grep debug-info-for-profiling Bug: 345593672 Change-Id: I68493511da1e61091209d0ed1b2c86c7ba0e21f4
This commit is contained in:
@@ -47,6 +47,10 @@ func (afdo *afdo) begin(ctx BaseModuleContext) {
|
||||
if ctx.Config().Eng() {
|
||||
afdo.Properties.Afdo = false
|
||||
}
|
||||
// Disable for native coverage builds.
|
||||
if ctx.DeviceConfig().NativeCoverageEnabled() {
|
||||
afdo.Properties.Afdo = false
|
||||
}
|
||||
}
|
||||
|
||||
// afdoEnabled returns true for binaries and shared libraries
|
||||
@@ -76,6 +80,8 @@ func (afdo *afdo) flags(ctx ModuleContext, flags Flags) Flags {
|
||||
}
|
||||
|
||||
if afdo.Properties.Afdo || afdo.Properties.AfdoDep {
|
||||
// Emit additional debug info for AutoFDO
|
||||
flags.Local.CFlags = append([]string{"-fdebug-info-for-profiling"}, flags.Local.CFlags...)
|
||||
// We use `-funique-internal-linkage-names` to associate profiles to the right internal
|
||||
// functions. This option should be used before generating a profile. Because a profile
|
||||
// generated for a binary without unique names doesn't work well building a binary with
|
||||
|
@@ -176,9 +176,6 @@ var (
|
||||
"-Werror=sequence-point",
|
||||
"-Werror=format-security",
|
||||
"-nostdlibinc",
|
||||
|
||||
// Emit additional debug info for AutoFDO
|
||||
"-fdebug-info-for-profiling",
|
||||
}
|
||||
|
||||
commonGlobalLldflags = []string{
|
||||
|
Reference in New Issue
Block a user