summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dan Albert <danalbert@google.com> 2024-08-09 20:39:39 +0000
committer Dan Albert <danalbert@google.com> 2024-08-09 21:16:56 +0000
commitfbe57803127127b20a9f5ba2bc52239f24b1a6d5 (patch)
tree34fb7bce4b5b8c10b6b5d9c7cee446e43bdf93eb
parentc8b6feba4c21e079a833a5781a0c22a7d75b5011 (diff)
Disable ABI tracking for bionic.
This is being done with a path-based filter rather than as a property of ndk_library because there would be no way to prevent people from disabling ABI tracking without API council review if it were a property, since there's no per-module OWNERS. Bug: http://b/358653811 Test: m ndk Change-Id: If6af638accc917294eee18cb08551c5df25462ad
-rw-r--r--cc/ndk_abi.go2
-rw-r--r--cc/ndk_library.go13
2 files changed, 12 insertions, 3 deletions
diff --git a/cc/ndk_abi.go b/cc/ndk_abi.go
index 5beeab1ee..8202cc05a 100644
--- a/cc/ndk_abi.go
+++ b/cc/ndk_abi.go
@@ -46,7 +46,7 @@ func (n *ndkAbiDumpSingleton) GenerateBuildActions(ctx android.SingletonContext)
if m, ok := module.(*Module); ok {
if installer, ok := m.installer.(*stubDecorator); ok {
- if canDumpAbi(ctx.Config()) {
+ if canDumpAbi(ctx.Config(), ctx.ModuleDir(module)) {
depPaths = append(depPaths, installer.abiDumpPath)
}
}
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index b822e5cbb..3e35ef50a 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -321,10 +321,19 @@ func (this *stubDecorator) findPrebuiltAbiDump(ctx ModuleContext,
}
// Feature flag.
-func canDumpAbi(config android.Config) bool {
+func canDumpAbi(config android.Config, moduleDir string) bool {
if runtime.GOOS == "darwin" {
return false
}
+ if strings.HasPrefix(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
+ // it until the workflow can be improved.
+ //
+ // http://b/358653811
+ return false
+ }
// http://b/156513478
return config.ReleaseNdkAbiMonitored()
}
@@ -460,7 +469,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()) {
+ if canDumpAbi(ctx.Config(), ctx.ModuleDir()) {
c.dumpAbi(ctx, nativeAbiResult.symbolList)
if canDiffAbi(ctx.Config()) {
c.diffAbi(ctx)