diff options
-rw-r--r-- | cc/builder.go | 19 | ||||
-rw-r--r-- | cc/library.go | 6 |
2 files changed, 14 insertions, 11 deletions
diff --git a/cc/builder.go b/cc/builder.go index 61c05720..873b117b 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -170,12 +170,12 @@ var ( sAbiLink = pctx.AndroidStaticRule("sAbiLink", blueprint.RuleParams{ - Command: "$sAbiLinker -o ${out} $symbolFile -arch $arch -api $api $exportedHeaderFlags @${out}.rsp ", + Command: "$sAbiLinker -o ${out} $symbolFilter -arch $arch -api $api $exportedHeaderFlags @${out}.rsp ", CommandDeps: []string{"$sAbiLinker"}, Rspfile: "${out}.rsp", RspfileContent: "${in}", }, - "symbolFile", "arch", "api", "exportedHeaderFlags") + "symbolFilter", "arch", "api", "exportedHeaderFlags") _ = pctx.SourcePathVariable("sAbiDiffer", "prebuilts/build-tools/${config.HostPrebuiltTag}/bin/header-abi-diff") @@ -634,14 +634,17 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext, // Generate a rule to combine .dump sAbi dump files from multiple source files // into a single .ldump sAbi dump file -func TransformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Paths, +func TransformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Paths, soFile android.Path, symbolFile android.OptionalPath, apiLevel, baseName, exportedHeaderFlags string) android.OptionalPath { outputFile := android.PathForModuleOut(ctx, baseName+".lsdump") - var symbolFileStr string + var symbolFilterStr string var linkedDumpDep android.Path if symbolFile.Valid() { - symbolFileStr = "-v " + symbolFile.Path().String() + symbolFilterStr = "-v " + symbolFile.Path().String() linkedDumpDep = symbolFile.Path() + } else { + linkedDumpDep = soFile + symbolFilterStr = "-so " + soFile.String() } ctx.ModuleBuild(pctx, android.ModuleBuildParams{ Rule: sAbiLink, @@ -650,9 +653,9 @@ func TransformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Path Inputs: sAbiDumps, Implicit: linkedDumpDep, Args: map[string]string{ - "symbolFile": symbolFileStr, - "arch": ctx.Arch().ArchType.Name, - "api": apiLevel, + "symbolFilter": symbolFilterStr, + "arch": ctx.Arch().ArchType.Name, + "api": apiLevel, "exportedHeaderFlags": exportedHeaderFlags, }, }) diff --git a/cc/library.go b/cc/library.go index 997344ca..01642213 100644 --- a/cc/library.go +++ b/cc/library.go @@ -589,12 +589,12 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext, objs.sAbiDumpFiles = append(objs.sAbiDumpFiles, deps.WholeStaticLibObjs.sAbiDumpFiles...) library.coverageOutputFile = TransformCoverageFilesToLib(ctx, objs, builderFlags, library.getLibName(ctx)) - library.linkSAbiDumpFiles(ctx, objs, fileName) + library.linkSAbiDumpFiles(ctx, objs, fileName, ret) return ret } -func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string) { +func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string, soFile android.Path) { //Also take into account object re-use. if len(objs.sAbiDumpFiles) > 0 && ctx.createVndkSourceAbiDump() && !ctx.Vendor() { refSourceDumpFile := android.PathForVndkRefAbiDump(ctx, "current", fileName, vndkVsNdk(ctx), true) @@ -612,7 +612,7 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec SourceAbiFlags = append(SourceAbiFlags, reexportedInclude) } exportedHeaderFlags := strings.Join(SourceAbiFlags, " ") - library.sAbiOutputFile = TransformDumpToLinkedDump(ctx, objs.sAbiDumpFiles, symbolFile, "current", fileName, exportedHeaderFlags) + library.sAbiOutputFile = TransformDumpToLinkedDump(ctx, objs.sAbiDumpFiles, soFile, symbolFile, "current", fileName, exportedHeaderFlags) if refSourceDumpFile.Valid() { unzippedRefDump := UnzipRefDump(ctx, refSourceDumpFile.Path(), fileName) library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(), unzippedRefDump, fileName) |