Add Rust fuzzing support.

Add a rust_fuzz module which builds a libfuzzer binary that enabes
asan+sancov. This relies on the libfuzzer-sys crate.

Bug: 147140513
Test: Local rust_fuzz example builds, fuzzes with asan+sancov.
Change-Id: I57db3b8d25869791824ccfab768d13b0bb9d42fa
This commit is contained in:
Ivan Lozano
2020-02-11 08:24:25 -05:00
parent f98384ad80
commit 6cd99e6ab4
15 changed files with 524 additions and 7 deletions

View File

@@ -26,8 +26,8 @@ var (
Arm64LinkFlags = []string{}
Arm64ArchVariantRustFlags = map[string][]string{
"armv8-a": []string{},
"armv8-2a": []string{},
"armv8-a": []string{},
"armv8-2a": []string{},
"armv8-2a-dotprod": []string{},
}
)
@@ -71,6 +71,10 @@ func (t *toolchainArm64) Supported() bool {
return true
}
func (toolchainArm64) LibclangRuntimeLibraryArch() string {
return "aarch64"
}
func Arm64ToolchainFactory(arch android.Arch) Toolchain {
archVariant := arch.ArchVariant
if archVariant == "" {