diff --git a/cc/afdo.go b/cc/afdo.go index 6921edfba..14d105e99 100644 --- a/cc/afdo.go +++ b/cc/afdo.go @@ -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 diff --git a/cc/config/global.go b/cc/config/global.go index 66196c26b..cfe576896 100644 --- a/cc/config/global.go +++ b/cc/config/global.go @@ -176,9 +176,6 @@ var ( "-Werror=sequence-point", "-Werror=format-security", "-nostdlibinc", - - // Emit additional debug info for AutoFDO - "-fdebug-info-for-profiling", } commonGlobalLldflags = []string{