From f751400fc758ae12ae31a028a617eea43132a3ec Mon Sep 17 00:00:00 2001 From: Steve Hay Date: Tue, 6 May 2014 20:16:05 +0100 Subject: [PATCH] Fix op/taint.t failure on Windows with 64-bit gcc-4.8.0 from MinGW-w64 MinGW-w64's 64-bit gcc now uses the SEH C++ exception model rather than SJLJ or Dwarf2 (see http://mingw-w64.sourceforge.net/download.php). For such gccs, op/taint.t will need libgcc_s_seh-1.dll rather than libgcc_s_sjlj-1.dll or libgcc_s_dw2-1.dll. Fixes perl #121699. Likewise, libwinpthread-1.dll is necessary if gcc was compiled with POSIX threading and linked with the libwinpthread library, which is the case for the gcc-4.8.2 toolchain that is likely to be used with the Strawberry Perl 5.20.x series. Thanks to kmx for this. --- win32/makefile.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/win32/makefile.mk b/win32/makefile.mk index 99193a2..f2675cc 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1546,9 +1546,11 @@ test-prep : all utils ..\pod\perltoc.pod # your compiler, and upon the values of "x". # libstdc++-6.dll is copied if it exists as it, too, may then be needed. # Without this copying, the op/taint.t test script will fail. + if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL) if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL) if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL) if exist $(CCDLLDIR)\libstdc++-6.dll $(XCOPY) $(CCDLLDIR)\libstdc++-6.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libwinpthread-1.dll $(XCOPY) $(CCDLLDIR)\libwinpthread-1.dll ..\t\$(NULL) .ENDIF test : test-prep -- 2.7.4