diff options
Diffstat (limited to 'rust/builder.go')
-rw-r--r-- | rust/builder.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/builder.go b/rust/builder.go index 6db508d64..523428db2 100644 --- a/rust/builder.go +++ b/rust/builder.go @@ -220,6 +220,15 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl linkFlags = append(linkFlags, flags.GlobalLinkFlags...) linkFlags = append(linkFlags, flags.LinkFlags...) + // Check if this module needs to use the bootstrap linker + if ctx.RustModule().Bootstrap() && !ctx.RustModule().InRecovery() && !ctx.RustModule().InRamdisk() && !ctx.RustModule().InVendorRamdisk() { + dynamicLinker := "-Wl,-dynamic-linker,/system/bin/bootstrap/linker" + if ctx.toolchain().Is64Bit() { + dynamicLinker += "64" + } + linkFlags = append(linkFlags, dynamicLinker) + } + libFlags := makeLibFlags(deps) // Collect dependencies |