summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--genrule/genrule.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/genrule/genrule.go b/genrule/genrule.go
index cf2a96673..43f4fe5ee 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -317,7 +317,17 @@ func (g *Module) generateCommonBuildActions(ctx android.ModuleContext) {
// required relative locations of the tool and its dependencies, use those
// instead. They will be copied to those relative locations in the sbox
// sandbox.
- packagedTools = append(packagedTools, specs...)
+ // Care must be taken since TransitivePackagingSpec may return device-side
+ // paths via the required property. Filter them out.
+ for i, ps := range specs {
+ if ps.Partition() != "" {
+ if i == 0 {
+ panic("first PackagingSpec is assumed to be the host-side tool")
+ }
+ continue
+ }
+ packagedTools = append(packagedTools, ps)
+ }
// Assume that the first PackagingSpec of the module is the tool.
addLocationLabel(tag.label, packagedToolLocation{specs[0]})
} else {