Disable JIT compiler on unsupported platforms (#21215)

This commit is contained in:
Kirill Fomichev 2021-11-09 14:31:21 +03:00 committed by GitHub
parent 55c97275bc
commit b4d09388aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 6 deletions

View File

@ -9,6 +9,12 @@ macro_rules! to_builtin {
/// Builtin programs that are always available /// Builtin programs that are always available
fn genesis_builtins(bpf_jit: bool) -> Vec<Builtin> { fn genesis_builtins(bpf_jit: bool) -> Vec<Builtin> {
// Currently JIT is not supported on the BPF VM:
// !x86_64: https://github.com/qmonnet/rbpf/issues/48
// Windows: https://github.com/solana-labs/rbpf/issues/217
#[cfg(any(not(target_arch = "x86_64"), target_family = "windows"))]
let bpf_jit = false;
vec![ vec![
to_builtin!(solana_bpf_loader_deprecated_program!()), to_builtin!(solana_bpf_loader_deprecated_program!()),
if bpf_jit { if bpf_jit {

View File

@ -393,11 +393,6 @@ fn main() {
IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)),
faucet_port, faucet_port,
)); ));
// JIT not supported on the BPF VM in Windows currently: https://github.com/solana-labs/rbpf/issues/217
#[cfg(target_family = "windows")]
let bpf_jit = false;
#[cfg(not(target_family = "windows"))]
let bpf_jit = !matches.is_present("no_bpf_jit");
let mut programs = vec![]; let mut programs = vec![];
if let Some(values) = matches.values_of("bpf_program") { if let Some(values) = matches.values_of("bpf_program") {
@ -557,7 +552,7 @@ fn main() {
faucet_addr, faucet_addr,
..JsonRpcConfig::default() ..JsonRpcConfig::default()
}) })
.bpf_jit(bpf_jit) .bpf_jit(!matches.is_present("no_bpf_jit"))
.rpc_port(rpc_port) .rpc_port(rpc_port)
.add_programs_with_path(&programs); .add_programs_with_path(&programs);