The time span between original submission and update suggests that
contributors were planning the update, meaning that the code was
considered work in progress all along. If so, why it went into stable
branch? Then this update quality... It's just wrong on several points.
Most notably
#ifdef L_ENDIAN
...
#else /* big endian */
The expectation is
#ifdef L_ENDIAN
little-endian
#elif defined(B_ENDIAN)
big-endian
#else
endian *neutral*!
#endif
I mean undefined L_ENDIAN does not mean big-endian, not in OpenSSL
context. Furthermore
#if (defined (__GNUC__) && !defined(i386))
#define CAMELLIA_SWAP4(x) \
do{\
asm("bswap %1" : "+r" (x));\
}while(0)
So if you try to compile with gcc on non-x86 platform, it will insist on
injecting x86 instruction... Update appears as if they were trying to
improve performance, but I observe over 30% *degradation* on x86... In
other words, what the heck... A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]