From c1fd399ccd8597f6d150a3385d468aeead42d44d Mon Sep 17 00:00:00 2001 From: Inseob Kim Date: Wed, 15 Mar 2023 14:35:16 +0900 Subject: [PATCH] Use installExecutable for cc binaries Normally InstallFile is enough because linker grants +x permission to its output. Just to guarantee +x permission even when the source file doesn't have one. Test: build Change-Id: I01082df11d414804e1a73336fc637a6a2208021f --- cc/binary.go | 2 +- cc/installer.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cc/binary.go b/cc/binary.go index 496c610c2..097f82252 100644 --- a/cc/binary.go +++ b/cc/binary.go @@ -512,7 +512,7 @@ func (binary *binaryDecorator) install(ctx ModuleContext, file android.Path) { } binary.baseInstaller.subDir = "bootstrap" } - binary.baseInstaller.install(ctx, file) + binary.baseInstaller.installExecutable(ctx, file) var preferredArchSymlinkPath android.OptionalPath for _, symlink := range binary.symlinks { diff --git a/cc/installer.go b/cc/installer.go index e2c0e7b8d..716a0dfc6 100644 --- a/cc/installer.go +++ b/cc/installer.go @@ -100,6 +100,10 @@ func (installer *baseInstaller) install(ctx ModuleContext, file android.Path) { installer.path = ctx.InstallFile(installer.installDir(ctx), file.Base(), file) } +func (installer *baseInstaller) installExecutable(ctx ModuleContext, file android.Path) { + installer.path = ctx.InstallExecutable(installer.installDir(ctx), file.Base(), file) +} + func (installer *baseInstaller) everInstallable() bool { // Most cc modules are installable. return true