Do not try ffi_closure_alloc if libffi is <= 3.1

Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and
Fedora CIs have started failing with SEGV.  Try to avoid
ffi_closure_alloc on those environments.

https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz
This commit is contained in:
Yusuke Endoh 2020-05-13 08:39:50 +09:00
parent 777b5b4f39
commit 9cfa811b0f

View File

@ -122,6 +122,7 @@ end
case
when $mswin, $mingw, (ver && (ver <=> [3, 2]) >= 0)
$defs << "-DUSE_FFI_CLOSURE_ALLOC=1"
when (ver && (ver <=> [3, 1]) <= 0)
else
have_func('ffi_closure_alloc', ffi_header)
end