diff options
Diffstat (limited to 'rust/binary.go')
| -rw-r--r-- | rust/binary.go | 19 | 
1 files changed, 14 insertions, 5 deletions
diff --git a/rust/binary.go b/rust/binary.go index db91ccb9a..0dc320e5f 100644 --- a/rust/binary.go +++ b/rust/binary.go @@ -92,14 +92,23 @@ func (binary *binaryDecorator) compilerFlags(ctx ModuleContext, flags Flags) Fla  func (binary *binaryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps {  	deps = binary.baseCompiler.compilerDeps(ctx, deps) +	static := Bool(binary.Properties.Static_executable)  	if ctx.toolchain().Bionic() { -		deps = bionicDeps(ctx, deps, Bool(binary.Properties.Static_executable)) -		if Bool(binary.Properties.Static_executable) { -			deps.CrtBegin = "crtbegin_static" +		deps = bionicDeps(ctx, deps, static) +		if static { +			deps.CrtBegin = []string{"crtbegin_static"} +		} else { +			deps.CrtBegin = []string{"crtbegin_dynamic"} +		} +		deps.CrtEnd = []string{"crtend_android"} +	} else if ctx.Os() == android.LinuxMusl { +		deps = muslDeps(ctx, deps, static) +		if static { +			deps.CrtBegin = []string{"libc_musl_crtbegin_static"}  		} else { -			deps.CrtBegin = "crtbegin_dynamic" +			deps.CrtBegin = []string{"libc_musl_crtbegin_dynamic", "musl_linker_script"}  		} -		deps.CrtEnd = "crtend_android" +		deps.CrtEnd = []string{"libc_musl_crtend"}  	}  	return deps  |