On 2007.05.19 at 20:20:14 +0200, Andy Polyakov via RT wrote:
> > In the revision 1.9 of file x86cpuid.pl there appeared block with
> > some &setne instructions:
> > These instructions are translated under Solaris x86 into
> > setneb assembler instruction which causes "Illegal mnemonic" error with
> > /usr/ccs/bin/as
> >
> > Also, expression
> > &and ("edx", ~(1<<28)) is incorrectly translated into
> >
> > andl $18446744073441116159,%edx
> > on 32-bit platform
> > (should be "andl $4026531839,%edx"
> > )
> > which causes as to complain about "Value out of range".
> > It looks like problem somewhere in the perlasm which incorrectly uses
> > 64-bit operations.
>
> Well, "incorrectly" is not the word. Run 'perl -V' on machine in
Incorrectly is very precise term. What the matter how perl is
configured? I want to produce working assemble code, acceptable for my
assembler. What if I'm cross-compiling for pure 32-bit target on pure
64 bit platform?
Under "incorrectly" I mean that number of bits is taken from Perl
compilation settings, not from CURRENT openssl compilation settings.
I already have one test machine where 32 bit and 64 bit build is done
simultaneously (it is Sparc, so it is not a problem now). Tomorrow I
might have to set up 64-bit x86 solaris machine and do both 32 and 64
bit builds on it.
I don't like idea that I have to build special version of Perl just to
build OpenSSL.
Next day perl authors stop shipping versions of Perl which don't allow
not to use 64-bit integers even on pure 32-bit platforms (and I think
they would be right).
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]