summaryrefslogtreecommitdiff
path: root/cc/ndk_library.go
diff options
context:
space:
mode:
author Dan Albert <danalbert@google.com> 2024-09-18 19:34:32 +0000
committer Dan Albert <danalbert@google.com> 2024-09-18 19:34:32 +0000
commit2d0dce1fad84baa2235417e926d4abe53881323b (patch)
treede3a3d17a46ad95b3912030d7e1c8087c8a129f0 /cc/ndk_library.go
parenta191ef3c5416ac52c566a7c24dda3834f321950e (diff)
Stop tracking the ABI of "current".
Bug: None Test: deleted "current" ABI dumps, ran updater, they didn't come back Change-Id: I50463c3016864fccc7713c141e6465c8ed0d7184
Diffstat (limited to 'cc/ndk_library.go')
-rw-r--r--cc/ndk_library.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index bd6dfa301..94e0452dd 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -125,6 +125,7 @@ type stubDecorator struct {
parsedCoverageXmlPath android.ModuleOutPath
installPath android.Path
abiDumpPath android.OutputPath
+ hasAbiDump bool
abiDiffPaths android.Paths
apiLevel android.ApiLevel
@@ -330,11 +331,11 @@ func (this *stubDecorator) findPrebuiltAbiDump(ctx ModuleContext,
}
// Feature flag.
-func canDumpAbi(config android.Config, moduleDir string) bool {
+func (this *stubDecorator) canDumpAbi(ctx ModuleContext) bool {
if runtime.GOOS == "darwin" {
return false
}
- if strings.HasPrefix(moduleDir, "bionic/") {
+ if strings.HasPrefix(ctx.ModuleDir(), "bionic/") {
// Bionic has enough uncommon implementation details like ifuncs and asm
// code that the ABI tracking here has a ton of false positives. That's
// causing pretty extreme friction for development there, so disabling
@@ -343,8 +344,14 @@ func canDumpAbi(config android.Config, moduleDir string) bool {
// http://b/358653811
return false
}
+
+ if this.apiLevel.IsCurrent() {
+ // "current" (AKA 10000) is not tracked.
+ return false
+ }
+
// http://b/156513478
- return config.ReleaseNdkAbiMonitored()
+ return ctx.Config().ReleaseNdkAbiMonitored()
}
// Feature flag to disable diffing against prebuilts.
@@ -357,6 +364,7 @@ func (this *stubDecorator) dumpAbi(ctx ModuleContext, symbolList android.Path) {
this.abiDumpPath = getNdkAbiDumpInstallBase(ctx).Join(ctx,
this.apiLevel.String(), ctx.Arch().ArchType.String(),
this.libraryName(ctx), "abi.stg")
+ this.hasAbiDump = true
headersList := getNdkABIHeadersFile(ctx)
ctx.Build(pctx, android.BuildParams{
Rule: stg,
@@ -478,7 +486,7 @@ func (c *stubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) O
nativeAbiResult := parseNativeAbiDefinition(ctx, symbolFile, c.apiLevel, "")
objs := compileStubLibrary(ctx, flags, nativeAbiResult.stubSrc)
c.versionScriptPath = nativeAbiResult.versionScript
- if canDumpAbi(ctx.Config(), ctx.ModuleDir()) {
+ if c.canDumpAbi(ctx) {
c.dumpAbi(ctx, nativeAbiResult.symbolList)
if canDiffAbi(ctx.Config()) {
c.diffAbi(ctx)