diff options
author | 2024-08-09 20:39:39 +0000 | |
---|---|---|
committer | 2024-08-09 21:16:56 +0000 | |
commit | fbe57803127127b20a9f5ba2bc52239f24b1a6d5 (patch) | |
tree | 34fb7bce4b5b8c10b6b5d9c7cee446e43bdf93eb | |
parent | c8b6feba4c21e079a833a5781a0c22a7d75b5011 (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.go | 2 | ||||
-rw-r--r-- | cc/ndk_library.go | 13 |
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) |