Subject: | Latest 64bit mingw-w64 + gcc 4.6 + fails |
Latest mingw-w64 64 bit + gcc >= 4.6.2 fails due to differences in setjmp
definition. (32 bit is OK)
(t/exit.t fails a couple of tests with access violation faults)
I have successfully tested the attached patch against my own latest 4.6.2
build and against a 64 bit Strawberry Perl that uses gcc 4.4.3
It should have no effect on mingw.org gcc.
Subject: | threads.patch |
diff -ruNw threads-1.85/threads.xs threads-1.85-copy/threads.xs
--- threads-1.85/threads.xs 2011-09-03 04:52:44.000000000 +0100
+++ threads-1.85-copy/threads.xs 2011-11-15 16:16:48.615200000 +0000
@@ -14,6 +14,9 @@
# if defined(USE_NO_MINGW_SETJMP_TWO_ARGS) || (!defined(__BORLANDC__) && !defined(__MINGW64__))
# define setjmp(x) _setjmp(x)
# endif
+# if defined(__MINGW64__)
+# define setjmp(x) _setjmpex((x), mingw_getsp())
+# endif
#endif
#ifdef HAS_PPPORT_H
# define NEED_PL_signals