The problem was the setting for "linux64-sparcv9" within Configure.


Currently in 0.9.8e:

SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o


Minimum change needed to fix problem:

SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o


i.e. the addition of DES_INT is enough to fix the problem.




However there are another 2 options in the "solaris64-sparcv9-cc" and "solaris64-sparcv9-gcc" entries (which are the closest), I have compiled with these options on solaris for 64bit both with SunPro CC and GCC and those builds are fine as they are.


These additional settings should probably be added to the "linux64-sparcv9" entry (I have built with these for linux64-sparcv9 w/ GCC and 'make test' was successful) :

DES_INT DES_PTR DES_RISC1



The following code should probably be added to the crypto/des/destest.c around line 354 (at the start of main()) since AFAIKS DES_LONG must always be exactly 4 bytes long no matter what platform you are on; so it makes sense to include this in the testcase.

if(sizeof(DES_LONG) != 4) {
printf("ERROR: sizeof(DES_LONG) != 4: You are probably on a 64bit host CPU and have not setup the DES_INT build option.\n");
        err=1;
}




Darryl
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to