Add check_all_apis option for header ABI checker
This commit adds a header ABI checker option to check all APIs that can be found. Without this option, the checker by default only checks the class/struct/enum that are directly or indirectly referred by one of the exported symbols. With `check_all_apis: true,`, the checker will check all class/struct/enum. Bug: 141709599 Test: Add `header_abi_checker: { check_all_apis: true, }` to a library and see breakage if I change some enum. Change-Id: I61f90e07b60a6752fc6be4398420c1ad1291102f
This commit is contained in:
committed by
Hsin-Yi Chen
parent
077f9a44f9
commit
2a65dda27d
@@ -102,6 +102,10 @@ type LibraryProperties struct {
|
||||
|
||||
// Symbol tags that should be ignored from the symbol file
|
||||
Exclude_symbol_tags []string
|
||||
|
||||
// Run checks on all APIs (in addition to the ones referred by
|
||||
// one of exported ELF symbols.)
|
||||
Check_all_apis *bool
|
||||
}
|
||||
|
||||
// Order symbols in .bss section by their sizes. Only useful for shared libraries.
|
||||
@@ -978,7 +982,9 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec
|
||||
refAbiDumpFile := getRefAbiDumpFile(ctx, vndkVersion, fileName)
|
||||
if refAbiDumpFile != nil {
|
||||
library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(),
|
||||
refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(ctx.Config()), ctx.isNdk(), ctx.isVndkExt())
|
||||
refAbiDumpFile, fileName, exportedHeaderFlags,
|
||||
Bool(library.Properties.Header_abi_checker.Check_all_apis),
|
||||
ctx.isLlndk(ctx.Config()), ctx.isNdk(), ctx.isVndkExt())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user