Disable ABI dumping for hwasan builds.

abidw doesn't currently handle top-byte-ignore correctly. Disable ABI
dumping for those configs while we wait for a fix. We'll still have
ABI checking coverage from non-hwasan builds.

Bug: http://b/190554910
Test: treehugger
Change-Id: I0e29979f8c212c43e0d1beea737abcd7fd0119d7
This commit is contained in:
Dan Albert 2022-04-14 23:08:51 +00:00
parent 604086f988
commit f71006a962
2 changed files with 14 additions and 4 deletions

View file

@ -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() {
if canDumpAbi(ctx.Config()) {
depPaths = append(depPaths, installer.abiDumpPath)
}
}

View file

@ -321,8 +321,18 @@ func (this *stubDecorator) findPrebuiltAbiDump(ctx ModuleContext,
}
// Feature flag.
func canDumpAbi() bool {
return runtime.GOOS != "darwin"
func canDumpAbi(config android.Config) bool {
if runtime.GOOS == "darwin" {
return false
}
// abidw doesn't currently handle top-byte-ignore correctly. Disable ABI
// dumping for those configs while we wait for a fix. We'll still have ABI
// checking coverage from non-hwasan builds.
// http://b/190554910
if android.InList("hwaddress", config.SanitizeDevice()) {
return false
}
return true
}
// Feature flag to disable diffing against prebuilts.
@ -458,7 +468,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() {
if canDumpAbi(ctx.Config()) {
c.dumpAbi(ctx, nativeAbiResult.symbolList)
if canDiffAbi() {
c.diffAbi(ctx)