aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorodaira <odaira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-09 20:06:36 +0000
committerodaira <odaira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-09 20:06:36 +0000
commit2d6aed508fc4c3d9b9e8d3b8b535e456a830252c (patch)
tree692aa1990444e1d655f72e63c8a79797df1f23bc /configure.ac
parentbda84d49264222ef8c0976bbf1f4d98a56c08f0a (diff)
downloadruby-2d6aed508fc4c3d9b9e8d3b8b535e456a830252c.tar.gz
* configure.ac: do not use __builtin_longjmp on ppc64* Linux
because it causes a segmentation fault with MJIT git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac8
1 files changed, 8 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index df1ef8cf2e..d7de84287b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -980,6 +980,14 @@ main()
[aix*],[ LIBS="-lm $LIBS"
ac_cv_func_round=no
],
+[linux*],[ LIBS="-lm $LIBS"
+ # __builtin_longjmp in ppc64* Linux does not restore
+ # the TOC register (r2), which is problematic
+ # when a global exit happens from JITted .so code.
+ AS_CASE(["$target_cpu"], [powerpc64*], [
+ ac_cv_func___builtin_setjmp=no
+ ])
+ ],
[ LIBS="-lm $LIBS"])
: ${ORIG_LIBS=$LIBS}