From fe605e14ee71dae43d384968fffd3aea7ac53bba Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Sun, 23 Jan 2022 20:46:16 -0800 Subject: Support multiple crtbegin and crtend dependencies Musl libc with an embedded linker uses multiple crtbegin dependencies, convert rust's CrtBegin and CrtEnd to lists. Bug: 190084016 Test: m USE_HOST_MUSL=true host-native Change-Id: Ie843801e87b1f38ace84502d9e4f938a92ec1fa2 --- rust/builder.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'rust/builder.go') diff --git a/rust/builder.go b/rust/builder.go index a7efc282a..cfb9fe1e9 100644 --- a/rust/builder.go +++ b/rust/builder.go @@ -246,9 +246,8 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl implicits = append(implicits, deps.SharedLibDeps...) implicits = append(implicits, deps.srcProviderFiles...) - if deps.CrtBegin.Valid() { - implicits = append(implicits, deps.CrtBegin.Path(), deps.CrtEnd.Path()) - } + implicits = append(implicits, deps.CrtBegin...) + implicits = append(implicits, deps.CrtEnd...) if len(deps.SrcDeps) > 0 { moduleGenDir := ctx.RustModule().compiler.CargoOutDir() @@ -318,8 +317,8 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl "rustcFlags": strings.Join(rustcFlags, " "), "linkFlags": strings.Join(linkFlags, " "), "libFlags": strings.Join(libFlags, " "), - "crtBegin": deps.CrtBegin.String(), - "crtEnd": deps.CrtEnd.String(), + "crtBegin": strings.Join(deps.CrtBegin.Strings(), " "), + "crtEnd": strings.Join(deps.CrtEnd.Strings(), " "), "envVars": strings.Join(envVars, " "), }, }) -- cgit v1.2.3-59-g8ed1b