summaryrefslogtreecommitdiff
path: root/cc/builder.go
diff options
context:
space:
mode:
Diffstat (limited to 'cc/builder.go')
-rw-r--r--cc/builder.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/cc/builder.go b/cc/builder.go
index ab2b80a49..f3faca801 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -920,10 +920,15 @@ func unzipRefDump(ctx android.ModuleContext, zippedRefDump android.Path, baseNam
// sourceAbiDiff registers a build statement to compare linked sAbi dump files (.lsdump).
func sourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceDump android.Path,
- baseName, exportedHeaderFlags string, diffFlags []string,
- checkAllApis, isLlndk, isNdk, isVndkExt bool) android.OptionalPath {
+ baseName, prevVersion, exportedHeaderFlags string, diffFlags []string,
+ checkAllApis, isLlndk, isNdk, isVndkExt, previousVersionDiff bool) android.OptionalPath {
- outputFile := android.PathForModuleOut(ctx, baseName+".abidiff")
+ var outputFile android.ModuleOutPath
+ if prevVersion == "" {
+ outputFile = android.PathForModuleOut(ctx, baseName+".abidiff")
+ } else {
+ outputFile = android.PathForModuleOut(ctx, baseName+"."+prevVersion+".abidiff")
+ }
libName := strings.TrimSuffix(baseName, filepath.Ext(baseName))
var extraFlags []string
@@ -935,10 +940,15 @@ func sourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceD
"-allow-unreferenced-elf-symbol-changes")
}
+ // TODO(b/241496591): Remove -advice-only after b/239792343 and b/239790286 are reolved.
+ if previousVersionDiff {
+ extraFlags = append(extraFlags, "-advice-only")
+ }
+
if isLlndk || isNdk {
extraFlags = append(extraFlags, "-consider-opaque-types-different")
}
- if isVndkExt {
+ if isVndkExt || previousVersionDiff {
extraFlags = append(extraFlags, "-allow-extensions")
}
// TODO(b/232891473): Simplify the above logic with diffFlags.