Browse Source

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
Andrew Walbran 2 years ago
parent
commit
79c3b77ea2
1 changed files with 4 additions and 3 deletions
  1. 4 3
      filesystem/raw_binary.go

+ 4 - 3
filesystem/raw_binary.go

@@ -26,7 +26,8 @@ import (
 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 @@ func (r *rawBinary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 
 	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 @@ var _ android.AndroidMkEntriesProvider = (*rawBinary)(nil)
 
 // Implements android.AndroidMkEntriesProvider
 func (r *rawBinary) AndroidMkEntries() []android.AndroidMkEntries {
-	return []android.AndroidMkEntries{android.AndroidMkEntries{
+	return []android.AndroidMkEntries{{
 		Class:      "ETC",
 		OutputFile: android.OptionalPathForPath(r.output),
 	}}