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:
@@ -87,6 +87,13 @@ func GatherRequiredDepsForTest() string {
|
||||
system_shared_libs: [],
|
||||
export_include_dirs: ["libprotobuf-cpp-full-includes"],
|
||||
}
|
||||
cc_library {
|
||||
name: "libclang_rt.asan-aarch64-android",
|
||||
no_libcrt: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
export_include_dirs: ["libprotobuf-cpp-full-includes"],
|
||||
}
|
||||
rust_library {
|
||||
name: "libstd",
|
||||
crate_name: "std",
|
||||
@@ -129,7 +136,12 @@ func GatherRequiredDepsForTest() string {
|
||||
srcs: ["foo.rs"],
|
||||
host_supported: true,
|
||||
}
|
||||
|
||||
rust_library {
|
||||
name: "liblibfuzzer_sys",
|
||||
crate_name: "libfuzzer_sys",
|
||||
srcs:["foo.rs"],
|
||||
host_supported: true,
|
||||
}
|
||||
`
|
||||
return bp
|
||||
}
|
||||
@@ -147,6 +159,7 @@ func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
|
||||
ctx.RegisterModuleType("rust_library_host", RustLibraryHostFactory)
|
||||
ctx.RegisterModuleType("rust_library_host_dylib", RustLibraryDylibHostFactory)
|
||||
ctx.RegisterModuleType("rust_library_host_rlib", RustLibraryRlibHostFactory)
|
||||
ctx.RegisterModuleType("rust_fuzz", RustFuzzFactory)
|
||||
ctx.RegisterModuleType("rust_ffi", RustFFIFactory)
|
||||
ctx.RegisterModuleType("rust_ffi_shared", RustFFISharedFactory)
|
||||
ctx.RegisterModuleType("rust_ffi_static", RustFFIStaticFactory)
|
||||
|
Reference in New Issue
Block a user