On Tue, Jul 20, 2010 at 06:18:28PM -0700, Jan Dubois wrote: > On Tue, 29 Jun 2010, Steve Hay wrote: > > It started by emitting a mountain of warnings about type conversions > > for every file that it compiles. Is that normal? Then it produced this > > strange error message immediately after linking perl.exe: > > > > ..\miniperl.exe -I..\lib bin\exetype.pl ..\wperl.exe WINDOWS > > 'x' outside of string in unpack at bin\exetype.pl line 39. > > NMAKE : fatal error U1077: '..\miniperl.exe' : return code '0xff' > > Stop. > > > > Line 39 in that file is: > > > > ($signature,$size,$magic) = unpack "Lx16Sx2S", $record; > > > > What on earth has happened here? > > I've managed to build 5.12.1 with the 64-bit version of VS 2008 after > cherry-picking 2 patches from Nicholas (see log messages below). > > I seems weird that this is the only part of the complete build and > test cycle that would run into this issue. > > Nicholas, does it seem sensible that the win32/bin/exetype.pl script > triggers the error condition that you fixed with those 2 changes? No, it doesn't seem sensible to me. I was assuming that they were only optimisations, to avoid unnecessary temporaries. > Are they by themselves suitable for integration into maint-5.12? They > look fine to me, but I'm not sure if they assume some other earlier > fixes in blead or not. I had assumed not, because I assumed that they didn't change any visible behaviour. That they do comes as somewhat a surprise. I'm now rather curious to know what the difference between the execution paths (and stack usage) is with and without the two on Win64. But I'm not in a position to go digging on it, and it's not clear whether it's replicateable on any other platform. Nicholas ClarkThread Previous | Thread Next