I'm not sure if the unlikely optimization here is critical (I presume it is), so I left it in, but hid it behind an "unstable" feature flag. Sadly, support for flags behind workspaces seems to be rather unresolved at the moment, so the only way to enable this that I found is --all-features.
The extern "C" { #[thread_local] }s don't seem to line up with the definitions in angora-llvm-pass.so.cc, see https://github.com/AngoraFuzzer/Angora/issues/10#issuecomment-450584239 so I just dropped them. I presume this is wrong somehow, so can swap for (optional) calls into C functions to load them as appropriate, but I presume it may be performance-critical so wanted to check first.
This greatly simplifies building Angora for rust targets, see https://github.com/AngoraFuzzer/Angora/issues/10#issuecomment-450583741
A few of these are obvious, but: