aboutsummaryrefslogtreecommitdiff
path: root/rust/config/x86_linux_host.go
diff options
context:
space:
mode:
Diffstat (limited to 'rust/config/x86_linux_host.go')
-rw-r--r--rust/config/x86_linux_host.go28
1 files changed, 25 insertions, 3 deletions
diff --git a/rust/config/x86_linux_host.go b/rust/config/x86_linux_host.go
index 4d7c42219..f1e7eff0d 100644
--- a/rust/config/x86_linux_host.go
+++ b/rust/config/x86_linux_host.go
@@ -21,7 +21,13 @@ import (
)
var (
- LinuxRustFlags = []string{}
+ LinuxRustFlags = []string{
+ // These flags are no strictly necessary but included so RBE can discover dependencies.
+ "-L${cc_config.LinuxGccRoot}/${cc_config.LinuxGccTriple}/lib32",
+ "-L${cc_config.LinuxGccRoot}/${cc_config.LinuxGccTriple}/lib64",
+ "-L${cc_config.LinuxGccRoot}/lib/gcc/${cc_config.LinuxGccTriple}/${cc_config.LinuxGccVersion}",
+ "-L${cc_config.LinuxGccRoot}/sysroot/usr/lib",
+ }
LinuxMuslRustFlags = []string{
// disable rustc's builtin fallbacks for crt objects
"-C link_self_contained=no",
@@ -87,7 +93,7 @@ func (t *toolchainLinuxX8664) Name() string {
func (t *toolchainLinuxX8664) ToolchainLinkFlags() string {
// Prepend the lld flags from cc_config so we stay in sync with cc
- return "${cc_config.LinuxLldflags} ${cc_config.LinuxX8664Lldflags} " +
+ return "${cc_config.LinuxLdflags} ${cc_config.LinuxX8664Ldflags} " +
"${config.LinuxToolchainLinkFlags} ${config.LinuxToolchainX8664LinkFlags}"
}
@@ -105,6 +111,10 @@ func (t *toolchainLinuxX8664) RustTriple() string {
return "x86_64-unknown-linux-gnu"
}
+func (t *toolchainLinuxGlibcX8664) Glibc() bool {
+ return true
+}
+
func (t *toolchainLinuxGlibcX8664) ToolchainLinkFlags() string {
return t.toolchainLinuxX8664.ToolchainLinkFlags() + " " + "${config.LinuxGlibcToolchainLinkFlags}"
}
@@ -135,6 +145,10 @@ func linuxMuslX8664ToolchainFactory(arch android.Arch) Toolchain {
return toolchainLinuxMuslX8664Singleton
}
+func (t *toolchainLinuxMuslX8664) Musl() bool {
+ return true
+}
+
// Base 32-bit linux rust toolchain
type toolchainLinuxX86 struct {
toolchain32Bit
@@ -162,7 +176,7 @@ func (toolchainLinuxX8664) LibclangRuntimeLibraryArch() string {
func (t *toolchainLinuxX86) ToolchainLinkFlags() string {
// Prepend the lld flags from cc_config so we stay in sync with cc
- return "${cc_config.LinuxLldflags} ${cc_config.LinuxX86Lldflags} " +
+ return "${cc_config.LinuxLdflags} ${cc_config.LinuxX86Ldflags} " +
"${config.LinuxToolchainLinkFlags} ${config.LinuxToolchainX86LinkFlags}"
}
@@ -180,6 +194,10 @@ func (t *toolchainLinuxGlibcX86) RustTriple() string {
return "i686-unknown-linux-gnu"
}
+func (t *toolchainLinuxGlibcX86) Glibc() bool {
+ return true
+}
+
func (t *toolchainLinuxGlibcX86) ToolchainLinkFlags() string {
return t.toolchainLinuxX86.ToolchainLinkFlags() + " " + "${config.LinuxGlibcToolchainLinkFlags}"
}
@@ -206,6 +224,10 @@ func (t *toolchainLinuxMuslX86) ToolchainRustFlags() string {
return t.toolchainLinuxX86.ToolchainRustFlags() + " " + "${config.LinuxMuslToolchainRustFlags}"
}
+func (t *toolchainLinuxMuslX86) Musl() bool {
+ return true
+}
+
func linuxMuslX86ToolchainFactory(arch android.Arch) Toolchain {
return toolchainLinuxMuslX86Singleton
}