diff options
author | Ivan Lozano <ivanlozano@google.com> | 2020-02-11 08:24:25 -0500 |
---|---|---|
committer | Ivan Lozano <ivanlozano@google.com> | 2021-01-25 11:11:10 -0500 |
commit | 6cd99e6ab45dce7b1a3b865bacf76ce54651bd07 (patch) | |
tree | d107adced00e84c7b91a06cc4114df14b6990318 /rust/testing.go | |
parent | f98384ad80493750c8a3fabea2db1812fc8089d1 (diff) |
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
Diffstat (limited to 'rust/testing.go')
-rw-r--r-- | rust/testing.go | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/rust/testing.go b/rust/testing.go index 07f557ab8..bb511b648 100644 --- a/rust/testing.go +++ b/rust/testing.go @@ -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) |