Loading rust/binary.go +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ func (binary *binaryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps { deps = binary.baseCompiler.compilerDeps(ctx, deps) if ctx.toolchain().Bionic() { deps = bionicDeps(deps, Bool(binary.Properties.Static_executable)) deps = bionicDeps(ctx, deps, Bool(binary.Properties.Static_executable)) if Bool(binary.Properties.Static_executable) { deps.CrtBegin = "crtbegin_static" } else { Loading rust/bindgen.go +1 −1 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ func NewRustBindgen(hod android.HostOrDeviceSupported) (*Module, *bindgenDecorat func (b *bindgenDecorator) SourceProviderDeps(ctx DepsContext, deps Deps) Deps { deps = b.BaseSourceProvider.SourceProviderDeps(ctx, deps) if ctx.toolchain().Bionic() { deps = bionicDeps(deps, false) deps = bionicDeps(ctx, deps, false) } deps.SharedLibs = append(deps.SharedLibs, b.ClangProperties.Shared_libs...) Loading rust/compiler.go +4 −4 Original line number Diff line number Diff line Loading @@ -281,7 +281,7 @@ func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps { return deps } func bionicDeps(deps Deps, static bool) Deps { func bionicDeps(ctx DepsContext, deps Deps, static bool) Deps { bionicLibs := []string{} bionicLibs = append(bionicLibs, "liblog") bionicLibs = append(bionicLibs, "libc") Loading @@ -294,9 +294,9 @@ func bionicDeps(deps Deps, static bool) Deps { deps.SharedLibs = append(deps.SharedLibs, bionicLibs...) } //TODO(b/141331117) libstd requires libgcc on Android deps.StaticLibs = append(deps.StaticLibs, "libgcc") if libRuntimeBuiltins := config.BuiltinsRuntimeLibrary(ctx.toolchain()); libRuntimeBuiltins != "" { deps.StaticLibs = append(deps.StaticLibs, libRuntimeBuiltins) } return deps } Loading rust/config/global.go +2 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ var ( deviceGlobalRustFlags = []string{ "-C panic=abort", "-Z link-native-libraries=no", } deviceGlobalLinkFlags = []string{ Loading @@ -62,7 +63,7 @@ var ( // Override cc's --no-undefined-version to allow rustc's generated alloc functions "-Wl,--undefined-version", "-Bdynamic", "-Wl,-Bdynamic", "-nostdlib", "-Wl,--pack-dyn-relocs=android+relr", "-Wl,--use-android-relr-tags", Loading rust/config/toolchain.go +4 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,10 @@ func (toolchainBase) LibclangRuntimeLibraryArch() string { return "" } func BuiltinsRuntimeLibrary(t Toolchain) string { return LibclangRuntimeLibrary(t, "builtins") } func LibFuzzerRuntimeLibrary(t Toolchain) string { return LibclangRuntimeLibrary(t, "fuzzer") } Loading Loading
rust/binary.go +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ func (binary *binaryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps { deps = binary.baseCompiler.compilerDeps(ctx, deps) if ctx.toolchain().Bionic() { deps = bionicDeps(deps, Bool(binary.Properties.Static_executable)) deps = bionicDeps(ctx, deps, Bool(binary.Properties.Static_executable)) if Bool(binary.Properties.Static_executable) { deps.CrtBegin = "crtbegin_static" } else { Loading
rust/bindgen.go +1 −1 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ func NewRustBindgen(hod android.HostOrDeviceSupported) (*Module, *bindgenDecorat func (b *bindgenDecorator) SourceProviderDeps(ctx DepsContext, deps Deps) Deps { deps = b.BaseSourceProvider.SourceProviderDeps(ctx, deps) if ctx.toolchain().Bionic() { deps = bionicDeps(deps, false) deps = bionicDeps(ctx, deps, false) } deps.SharedLibs = append(deps.SharedLibs, b.ClangProperties.Shared_libs...) Loading
rust/compiler.go +4 −4 Original line number Diff line number Diff line Loading @@ -281,7 +281,7 @@ func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps { return deps } func bionicDeps(deps Deps, static bool) Deps { func bionicDeps(ctx DepsContext, deps Deps, static bool) Deps { bionicLibs := []string{} bionicLibs = append(bionicLibs, "liblog") bionicLibs = append(bionicLibs, "libc") Loading @@ -294,9 +294,9 @@ func bionicDeps(deps Deps, static bool) Deps { deps.SharedLibs = append(deps.SharedLibs, bionicLibs...) } //TODO(b/141331117) libstd requires libgcc on Android deps.StaticLibs = append(deps.StaticLibs, "libgcc") if libRuntimeBuiltins := config.BuiltinsRuntimeLibrary(ctx.toolchain()); libRuntimeBuiltins != "" { deps.StaticLibs = append(deps.StaticLibs, libRuntimeBuiltins) } return deps } Loading
rust/config/global.go +2 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ var ( deviceGlobalRustFlags = []string{ "-C panic=abort", "-Z link-native-libraries=no", } deviceGlobalLinkFlags = []string{ Loading @@ -62,7 +63,7 @@ var ( // Override cc's --no-undefined-version to allow rustc's generated alloc functions "-Wl,--undefined-version", "-Bdynamic", "-Wl,-Bdynamic", "-nostdlib", "-Wl,--pack-dyn-relocs=android+relr", "-Wl,--use-android-relr-tags", Loading
rust/config/toolchain.go +4 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,10 @@ func (toolchainBase) LibclangRuntimeLibraryArch() string { return "" } func BuiltinsRuntimeLibrary(t Toolchain) string { return LibclangRuntimeLibrary(t, "builtins") } func LibFuzzerRuntimeLibrary(t Toolchain) string { return LibclangRuntimeLibrary(t, "fuzzer") } Loading