From 8711c5cf8c90ddae7971f0c1deeae2edaa1ca7ed Mon Sep 17 00:00:00 2001 From: Ivan Lozano Date: Fri, 13 Aug 2021 13:14:06 -0400 Subject: rust: Link libunwind into Rust static executables. Rust static executables fail to build due to missing unwind symbols. Make sure we link libunwind when building these. Bug: 194386505 Test: rust_binary with static_executable: true builds. Change-Id: I74bab25e186e181bc1ac8fdd608687707c662e4d --- rust/compiler.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rust/compiler.go') diff --git a/rust/compiler.go b/rust/compiler.go index 6b3ccfcfa..e0d89ac1d 100644 --- a/rust/compiler.go +++ b/rust/compiler.go @@ -362,7 +362,9 @@ func bionicDeps(ctx DepsContext, deps Deps, static bool) Deps { } else { deps.SharedLibs = append(deps.SharedLibs, bionicLibs...) } - + if ctx.RustModule().StaticExecutable() { + deps.StaticLibs = append(deps.StaticLibs, "libunwind") + } if libRuntimeBuiltins := config.BuiltinsRuntimeLibrary(ctx.toolchain()); libRuntimeBuiltins != "" { deps.StaticLibs = append(deps.StaticLibs, libRuntimeBuiltins) } -- cgit v1.2.3-59-g8ed1b