develooper Front page | perl.perl5.porters | Postings from July 2010

Re: Building 64-bit perl on Win32

Thread Previous | Thread Next
Nicholas Clark
July 22, 2010 09:33
Re: Building 64-bit perl on Win32
Message ID:
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\ ..\wperl.exe WINDOWS
> > 'x' outside of string in unpack at bin\ 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/ 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 Clark

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About