Andy Polyakov | 6 Sep 2004 23:13
Picon
Picon

Re: Test of 0.9.8 under DJGPP (was Re: [openssl.org #932] Patch for 0.9.8 (DJGPP))

>>OpenSSL 0.9.8-dev XX xxx XXXX
>>built on: Mon Sep  6 09:04:18 PST 2004
>>platform: DJGPP
>>options:  bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) blowfish(idx) 
>>compiler: gcc -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 
>>-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fno-strict-aliasing 
>>-fomit-frame-pointer -O2 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DSHA1_ASM -DMD5_ASM 
>>-DRMD160_ASM
>>OPENSSLDIR: "/dev/env/DJDIR/ssl"
> 
> To be able to use SSE2 code on a Pentium 4(?) , you need to add
> -DOPENSSL_IA32_SSE2 -DOPENSSL_CPUID_OBJ and have an up-to-date
> version of "as". (v2.13?).

./Configure should take care of it. Naturally not of as version, but the 
required preprocessor flags. Doug has probably configured with 386 flag.

> Then you'll notice a quadrupling in speed (for SHA at least).

For SHA-512 only, not for all SHAs.

> BTW. I don't see any way to turn off run-time use of SSE2. For comparison
> it could been nice to see the speed gain. Andy, how about turning SSE2 off
> with "$OPENSSL_ia32cap=none" etc.

The plan is to have OPENSSL_ia32cap=0 to provide for this and I tried to 
make it work and it was verified to work on several platforms. You 
mentioned earlier that you use own Makefile you've prepared long time 
ago, but can you try to build openssl "from scratch" starting with 
'./Configure DJGPP'? Actually if something goes wrong it SHA-512 
(Continue reading)

Doug Kaufman | 6 Sep 2004 23:21
Picon

Re: Test of 0.9.8 under DJGPP (was Re: [openssl.org #932] Patch for 0.9.8 (DJGPP))

On Mon, 6 Sep 2004, Andy Polyakov wrote:

   (Gisle Vanem wrote)
> > To be able to use SSE2 code on a Pentium 4(?) , you need to add
> > -DOPENSSL_IA32_SSE2 -DOPENSSL_CPUID_OBJ and have an up-to-date
> > version of "as". (v2.13?).
> 
> ./Configure should take care of it. Naturally not of as version, but the 
> required preprocessor flags. Doug has probably configured with 386 flag.

Yes, I configured with the 386 flag, to make sure any programs I
distribute would be compatible with 386. I'll try to do another build
without 386, though. Should the 386 flag be something shown with
"openssl version -a"?
                               Doug
--

-- 
Doug Kaufman
Internet: dkaufman <at> rahul.net

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev <at> openssl.org
Automated List Manager                           majordomo <at> openssl.org

Doug Kaufman | 7 Sep 2004 09:24
Picon

Re: Test of 0.9.8 under DJGPP (was Re: [openssl.org #932] Patch for 0.9.8 (DJGPP))

On Mon, 6 Sep 2004, Doug Kaufman wrote:

> On Mon, 6 Sep 2004, Andy Polyakov wrote:
> 
>    (Gisle Vanem wrote)
> > > To be able to use SSE2 code on a Pentium 4(?) , you need to add
> > > -DOPENSSL_IA32_SSE2 -DOPENSSL_CPUID_OBJ and have an up-to-date
> > > version of "as". (v2.13?).
> > 
> > ./Configure should take care of it. Naturally not of as version, but the 
> > required preprocessor flags. Doug has probably configured with 386 flag.
> 
> Yes, I configured with the 386 flag, to make sure any programs I
> distribute would be compatible with 386. I'll try to do another build
> without 386, though. Should the 386 flag be something shown with
> "openssl version -a"?

When testing without the "386" flag for configure, the asm code didn't
seem to have any problem, but the padlock engine code broke in 2
different areas in eng_padlock.c. There was a mismatch in the prototype
for padlock_aes_cipher. The code also uses snprintf, which is not
available on all platforms (such as DJGPP 2.03). We already have a
snprintf replacement in the code. I used that here and fixed the
prototype to match. With these changes (and the previously submitted
changes for configure and Makefile), this builds with configure, "make
depend", make, "make test", and "make install", without warnings. 

This binary identifies itself as:
OpenSSL 0.9.8-dev XX xxx XXXX
built on: Mon Sep  6 14:52:52 PST 2004
(Continue reading)


Gmane