[前][次][番号順一覧][スレッド一覧]

ruby-changes:52771

From: odaira <ko1@a...>
Date: Wed, 10 Oct 2018 05:06:44 +0900 (JST)
Subject: [ruby-changes:52771] odaira:r64983 (trunk): * configure.ac: do not use __builtin_longjmp on ppc64* Linux

odaira	2018-10-10 05:06:36 +0900 (Wed, 10 Oct 2018)

  New Revision: 64983

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64983

  Log:
    * configure.ac: do not use __builtin_longjmp on ppc64* Linux
      because it causes a segmentation fault with MJIT

  Modified files:
    trunk/configure.ac
Index: configure.ac
===================================================================
--- configure.ac	(revision 64982)
+++ configure.ac	(revision 64983)
@@ -980,6 +980,14 @@ main() https://github.com/ruby/ruby/blob/trunk/configure.ac#L980
 [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}
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]