Taylor correctly answered my question, but I asked the wrong thing. The person who reported the bug says they got their rustc from the Dart SDK which in turn is built out of
https://fuchsia.googlesource.com/third_party/rust , but we aren't targeting fuchsia when we build, we're targeting linux.
Your email caused me to check, and I see that adding:
std::compile_error!("fuchsia")
to Wasmer does not trigger a compile error while
#[cfg(target_os = "linux")]
std::compile_error!("linux");
does, yet the resulting program is different from one built with stock rustc due to the additional linking of llvm's libunwind. I had assumed you were adding fuchsia support but hadn't added a new target_os/target_env yet in order to continue to work with code that checks for linux os or gnu env.
So my request for a cfg! is wrong, you already have one.
Somehow your rustc fork changed the behaviour of a target_os=linux + target_env=gnu build relative to stock rustc. If that's on purpose it'd be nice to have a cfg! detectable option for, but now I think it's more likely a bug? Or possibly it might be something to do with the way dart SDK builds your rustc?
Nick