From 88e632e263bd03bd2b4d7bf714d0cf76dd73a026 Mon Sep 17 00:00:00 2001 From: Yi Kong Date: Tue, 25 Jan 2022 03:12:48 +0800 Subject: [PATCH] Allow static binaries to enable AFDO The static() property is true for both static libraries and static binaries. We should allow static binaries to enable AFDO. Test: Enable AFDO for linker Change-Id: I409fc9f764ea878f01dc42bb2e5c075219403009 --- cc/afdo.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cc/afdo.go b/cc/afdo.go index f7639faf6..d7cce77dd 100644 --- a/cc/afdo.go +++ b/cc/afdo.go @@ -93,7 +93,13 @@ func (props *AfdoProperties) GetAfdoProfileFile(ctx android.BaseModuleContext, m } func (afdo *afdo) begin(ctx BaseModuleContext) { - if afdo.Properties.Afdo && !ctx.static() && !ctx.Host() { + if ctx.Host() { + return + } + if ctx.static() && !ctx.staticBinary() { + return + } + if afdo.Properties.Afdo { module := ctx.ModuleName() if afdo.Properties.GetAfdoProfileFile(ctx, module).Valid() { afdo.Properties.AfdoTarget = proptools.StringPtr(module)