System:
    IA-64, SuSE SLES-8
Compiler:
    Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based applications
    Version 7.0, Build 20021210 

I've patched the Configure script by adding a new configuration,
"linux-ia64-ecc".  It's based on the "linux-ia64" configuration with
the following changes:

    Compiler executable changed from "gcc" to "ecc"
        The Intel compiler is /opt/intel/compiler70/ia64/bin/ecc

    Deleted "-fomit-frame-pointer" option
        As far as I can tell from the documentation, the behavior
        specified by gcc's "-fomit-frame-pointer" option is the
        default behavior for ecc.

    Changed "-O3" to "-O2"
        Experiment shows that with "-O3", "make test" fails with:
            test BN_sqr
            Square test failed!
        This seems to be an instance of the problem described at
        <http://www.openssl.org/support/faq.html#BUILD11>.

I've provided a context diff for Configure as an attachment.

Also, one of the compiler warnings points to a possible bug.  The file
crypto/mem_clr.c contains the following:

                cleanse_ctr += (17 + (unsigned char)((int)p & 0xF));

where p is an unsigned char*.  The cast of p to type int will lose
significant bits, since int is 32 bits and pointers are 64 bits.
I don't know of any symptoms of this bug; in particular, casting to
unsigned long rather than int doesn't fix the BN_sqr problem.

Please let me know if you need more information.

-- 
Keith Thompson, San Diego Supercomputer Center, Camp X-Ray
[EMAIL PROTECTED]  <http://www.sdsc.edu/~kst/>  858-822-0853  Fax: 858-822-5407
Schroedinger does Shakespeare: "To be *and* not to be"
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to