summaryrefslogtreecommitdiff
path: root/rust/builder.go
diff options
context:
space:
mode:
author Ivan Lozano <ivanlozano@google.com> 2021-07-23 14:00:23 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-07-23 14:00:23 +0000
commitc76c802e6a70d5c1cd0c84349fce7e7dce8634e4 (patch)
treea07c47c07fed9383ce67bde9d8f67c09977d8f28 /rust/builder.go
parent65eb794a5a8ef23f526dfc025f2901ec2f385aa0 (diff)
parenta2268635f4f05cffb360b6c000b04e76c50c4fed (diff)
Merge "rust: Add support for bootstrap linker."
Diffstat (limited to 'rust/builder.go')
-rw-r--r--rust/builder.go9
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