aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorRamy Medhat <abdelaal@google.com>2020-05-19 13:43:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-05-19 13:43:06 +0000
commit9adb15e4d38f1e0e87aed592879a3d0888971bc0 (patch)
tree4501902b3efbbf8fe8d67c2c96bf30937ecb08cd /cc
parent13b041d6eaeb5ed335bb98d6859c6e7f2be6c564 (diff)
parent459c6b25e5092b6bc785d2eabbba29ff4ef8d592 (diff)
downloadbuild_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.tar.gz
build_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.tar.bz2
build_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.zip
Merge "Add implicit outputs to link actions Bug: b/154733231" into rvc-dev
Diffstat (limited to 'cc')
-rw-r--r--cc/builder.go26
1 files changed, 14 insertions, 12 deletions
diff --git a/cc/builder.go b/cc/builder.go
index d8e90b61..476f16ae 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -77,10 +77,10 @@ var (
ExecStrategy: "${config.RECXXLinksExecStrategy}",
Inputs: []string{"${out}.rsp"},
RSPFile: "${out}.rsp",
- OutputFiles: []string{"${out}"},
+ OutputFiles: []string{"${out}", "$implicitOutputs"},
ToolchainInputs: []string{"$ldCmd"},
Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXLinksPool}"},
- }, []string{"ldCmd", "crtBegin", "libFlags", "crtEnd", "ldFlags", "extraLibFlags"}, nil)
+ }, []string{"ldCmd", "crtBegin", "libFlags", "crtEnd", "ldFlags", "extraLibFlags"}, []string{"implicitOutputs"})
partialLd, partialLdRE = remoteexec.StaticRules(pctx, "partialLd",
blueprint.RuleParams{
@@ -91,10 +91,10 @@ var (
}, &remoteexec.REParams{
Labels: map[string]string{"type": "link", "tool": "clang"},
ExecStrategy: "${config.RECXXLinksExecStrategy}", Inputs: []string{"$inCommaList"},
- OutputFiles: []string{"${out}"},
+ OutputFiles: []string{"${out}", "$implicitOutputs"},
ToolchainInputs: []string{"$ldCmd"},
Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXLinksPool}"},
- }, []string{"ldCmd", "ldFlags"}, []string{"inCommaList"})
+ }, []string{"ldCmd", "ldFlags"}, []string{"inCommaList", "implicitOutputs"})
ar = pctx.AndroidStaticRule("ar",
blueprint.RuleParams{
@@ -672,8 +672,17 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext,
}
rule := ld
+ args := map[string]string{
+ "ldCmd": ldCmd,
+ "crtBegin": crtBegin.String(),
+ "libFlags": strings.Join(libFlagsList, " "),
+ "extraLibFlags": flags.extraLibFlags,
+ "ldFlags": flags.globalLdFlags + " " + flags.localLdFlags,
+ "crtEnd": crtEnd.String(),
+ }
if ctx.Config().IsEnvTrue("RBE_CXX_LINKS") {
rule = ldRE
+ args["implicitOutputs"] = strings.Join(implicitOutputs.Strings(), ",")
}
ctx.Build(pctx, android.BuildParams{
@@ -683,14 +692,7 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext,
ImplicitOutputs: implicitOutputs,
Inputs: objFiles,
Implicits: deps,
- Args: map[string]string{
- "ldCmd": ldCmd,
- "crtBegin": crtBegin.String(),
- "libFlags": strings.Join(libFlagsList, " "),
- "extraLibFlags": flags.extraLibFlags,
- "ldFlags": flags.globalLdFlags + " " + flags.localLdFlags,
- "crtEnd": crtEnd.String(),
- },
+ Args: args,
})
}