diff options
Diffstat (limited to 'cc/binary.go')
| -rw-r--r-- | cc/binary.go | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/cc/binary.go b/cc/binary.go index 999b82c24..4db25db24 100644 --- a/cc/binary.go +++ b/cc/binary.go @@ -401,16 +401,18 @@ func (binary *binaryDecorator) link(ctx ModuleContext, } } + var validations android.WritablePaths + // Handle host bionic linker symbols. if ctx.Os() == android.LinuxBionic && !binary.static() { - injectedOutputFile := outputFile - outputFile = android.PathForModuleOut(ctx, "prelinker", fileName) + verifyFile := android.PathForModuleOut(ctx, "host_bionic_verify.stamp") if !deps.DynamicLinker.Valid() { panic("Non-static host bionic modules must have a dynamic linker") } - binary.injectHostBionicLinkerSymbols(ctx, outputFile, deps.DynamicLinker.Path(), injectedOutputFile) + binary.verifyHostBionicLinker(ctx, outputFile, deps.DynamicLinker.Path(), verifyFile) + validations = append(validations, verifyFile) } var sharedLibs android.Paths @@ -430,7 +432,7 @@ func (binary *binaryDecorator) link(ctx ModuleContext, // Register link action. transformObjToDynamicBinary(ctx, objs.objFiles, sharedLibs, deps.StaticLibs, deps.LateStaticLibs, deps.WholeStaticLibs, linkerDeps, deps.CrtBegin, deps.CrtEnd, true, - builderFlags, outputFile, nil) + builderFlags, outputFile, nil, validations) objs.coverageFiles = append(objs.coverageFiles, deps.StaticLibObjs.coverageFiles...) objs.coverageFiles = append(objs.coverageFiles, deps.WholeStaticLibObjs.coverageFiles...) @@ -532,19 +534,19 @@ func (binary *binaryDecorator) hostToolPath() android.OptionalPath { } func init() { - pctx.HostBinToolVariable("hostBionicSymbolsInjectCmd", "host_bionic_inject") + pctx.HostBinToolVariable("verifyHostBionicCmd", "host_bionic_verify") } -var injectHostBionicSymbols = pctx.AndroidStaticRule("injectHostBionicSymbols", +var verifyHostBionic = pctx.AndroidStaticRule("verifyHostBionic", blueprint.RuleParams{ - Command: "$hostBionicSymbolsInjectCmd -i $in -l $linker -o $out", - CommandDeps: []string{"$hostBionicSymbolsInjectCmd"}, + Command: "$verifyHostBionicCmd -i $in -l $linker && touch $out", + CommandDeps: []string{"$verifyHostBionicCmd"}, }, "linker") -func (binary *binaryDecorator) injectHostBionicLinkerSymbols(ctx ModuleContext, in, linker android.Path, out android.WritablePath) { +func (binary *binaryDecorator) verifyHostBionicLinker(ctx ModuleContext, in, linker android.Path, out android.WritablePath) { ctx.Build(pctx, android.BuildParams{ - Rule: injectHostBionicSymbols, - Description: "inject host bionic symbols", + Rule: verifyHostBionic, + Description: "verify host bionic", Input: in, Implicit: linker, Output: out, |