> I did a quick test, and found that 'make test' succeeds for -O0, -O1, > -Os, and -Oz, but fails for -O2 and -O3. This is using Apple's cc > which is based on clang-3.3 (it describes itself as "clang-500.1.58 > based on LLVM 3.3svn") and openssl-1.0.1e. > > It fails in the "NIST test vectors" stage of NIST curve P-256 > (optimized implementation). > > I'm not sure if there's a way to ask Clang what particular > transformations it enables for each optimization level, so I didn't > investigate further. -Os and -Oz are documented as being "like" -O2, > so that may be the minimal difference between a working and > nonworking compile.
Keep in mind https://rt.openssl.org/Ticket/Display.html?id=2981&user=guest&pass=guest. In other words Clang does have a record of having compiler bugs. And with any compiler bug, they strike in unexpected places and make no apparent sense. Finding workarounds is a gamble [in sense that there might none], but prerequisite is ability to reproduce the problem and time. It makes more sense to report the problem to compiler vendor. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
