raw_binary output should not be executable.
If it is, rust_test (wrongly) tries to execute it when it is used as
data.
Also fixed description and a lint warning while I was at it.
Bug: 233732515
Test: atest vmbase_example.integration_test
Change-Id: I49bf5147a9908549b0f37bdb0678e77676148db8
diff --git a/filesystem/raw_binary.go b/filesystem/raw_binary.go
index f726124..1544ea7 100644
--- a/filesystem/raw_binary.go
+++ b/filesystem/raw_binary.go
@@ -26,7 +26,8 @@
var (
toRawBinary = pctx.AndroidStaticRule("toRawBinary",
blueprint.RuleParams{
- Command: "${objcopy} --output-target=binary ${in} ${out}",
+ Command: "${objcopy} --output-target=binary ${in} ${out} &&" +
+ "chmod -x ${out}",
CommandDeps: []string{"$objcopy"},
},
"objcopy")
@@ -76,7 +77,7 @@
ctx.Build(pctx, android.BuildParams{
Rule: toRawBinary,
- Description: "prefix symbols " + outputFile.Base(),
+ Description: "raw binary " + outputFile.Base(),
Output: outputFile,
Input: inputFile,
Args: map[string]string{
@@ -93,7 +94,7 @@
// Implements android.AndroidMkEntriesProvider
func (r *rawBinary) AndroidMkEntries() []android.AndroidMkEntries {
- return []android.AndroidMkEntries{android.AndroidMkEntries{
+ return []android.AndroidMkEntries{{
Class: "ETC",
OutputFile: android.OptionalPathForPath(r.output),
}}