| // Copyright 2021 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file is used to work around Rust linker and convert Rust binaries back into staticlibs that |
| // can be linked against the compiler runtimes provided by the clang toolchain suite. |
| // |
| // To make use of it, conditionally define the `fuzz_main` symbol using FFI and use it to call the |
| // actual main function, i.e. for Rust, add something like: |
| // |
| // #[cfg(fuzz)] |
| // #[no_mangle] |
| // pub extern "C" fn fuzz_main() { |
| // main().Unwrap(); |
| // } |
| |
| extern "C" void fuzz_main(); |
| |
| int main(int argc, char const *argv[]) { |
| fuzz_main(); |
| return 0; |
| } |