Add AArch64 device Rust toolchain.
Bug: 141207434 Test: build example rust device module. Change-Id: I0932a614942bf4a4d4b6c153fcc4fc79c7f202bd
This commit is contained in:
@@ -71,6 +71,15 @@ func (binary *binaryDecorator) preferDynamic() bool {
|
||||
|
||||
func (binary *binaryDecorator) compilerFlags(ctx ModuleContext, flags Flags) Flags {
|
||||
flags = binary.baseCompiler.compilerFlags(ctx, flags)
|
||||
|
||||
if ctx.toolchain().Bionic() {
|
||||
// no-undefined-version breaks dylib compilation since __rust_*alloc* functions aren't defined, but we can apply this to binaries.
|
||||
flags.LinkFlags = append(flags.LinkFlags,
|
||||
"-Wl,--gc-sections",
|
||||
"-Wl,-z,nocopyreloc",
|
||||
"-Wl,--no-undefined-version")
|
||||
}
|
||||
|
||||
if binary.preferDynamic() {
|
||||
flags.RustFlags = append(flags.RustFlags, "-C prefer-dynamic")
|
||||
}
|
||||
@@ -86,6 +95,12 @@ func (binary *binaryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps {
|
||||
}
|
||||
}
|
||||
|
||||
if ctx.toolchain().Bionic() {
|
||||
deps = binary.baseCompiler.bionicDeps(ctx, deps)
|
||||
deps.CrtBegin = "crtbegin_dynamic"
|
||||
deps.CrtEnd = "crtend_android"
|
||||
}
|
||||
|
||||
return deps
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user