On Thursday, May 18, 2017 at 12:51:06 PM UTC-4, Marcel Raad wrote:
>
> 2017-05-18 14:38 GMT+02:00 Jeffrey Walton <nolo...@gmail.com <javascript:>>: 
>
> > It can be sidestepped with: 
> > 
> >   CXXFLAGS="-DNDEBUG -g2 -O2 -DCRYPTOPP_COVERAGE" make 
>
> Thanks, the MinGW32 tests passed with this. 
>
> MinGW64 had this additional failure: 
> Testing: X86 SHA code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -march=native -pipe -c sha.cpp 
> ERROR: failed to generate sha1rnds4 instruction 
> ERROR: failed to generate sha1nexte instruction 
> ERROR: failed to generate sha1msg1 instruction 
> ERROR: failed to generate sha1msg2 instruction 
> ERROR: failed to generate sha256rnds2 instruction 
> ERROR: failed to generate sha256msg1 instruction 
> ERROR: failed to generate sha256msg2 instruction 
>

This is probably due to an old linker. We are trying to generate aes, sha 
and friends, but the linker does not produce the instructions.
 

> And this assertion in the Debug C++03/11/14/17 builds: 
> Testing RoundUpToMultipleOf/RoundDownToMultipleOf... 
> passed: RoundUpToMultipleOf, byte, no overflow 
> passed: RoundUpToMultipleOf, byte, no overflow 
> passed: RoundUpToMultipleOf, byte, no overflow 
> passed: RoundUpToMultipleOf, byte, no overflow 
> passed: RoundUpToMultipleOf, byte, no overflow 
> passed: RoundUpToMultipleOf, byte, overflow 
> passed: RoundUpToMultipleOf, word16, no overflow 
> passed: RoundUpToMultipleOf, word16, no overflow 
> passed: RoundUpToMultipleOf, word16, no overflow 
> passed: RoundUpToMultipleOf, word16, no overflow 
> passed: RoundUpToMultipleOf, word16, no overflow 
> passed: RoundUpToMultipleOf, word16, overflow 
> passed: RoundUpToMultipleOf, word32, no overflow 
> passed: RoundUpToMultipleOf, word32, no overflow 
> passed: RoundUpToMultipleOf, word32, no overflow 
> passed: RoundUpToMultipleOf, word32, no overflow 
> passed: RoundUpToMultipleOf, word32, no overflow 
> passed: RoundUpToMultipleOf, word32, overflow 
> passed: RoundUpToMultipleOf, word64, no overflow 
> passed: RoundUpToMultipleOf, word64, no overflow 
> passed: RoundUpToMultipleOf, word64, no overflow 
> passed: RoundUpToMultipleOf, word64, no overflow 
> passed: RoundUpToMultipleOf, word64, no overflow 
> passed: RoundUpToMultipleOf, word64, overflow 
> Assertion failed: misc.h(981): RoundUpToMultipleOf 
> ERROR: failed to execute validation suite 
>

Oh, that's interesting.... With _DNDEBUG, you should not see an assert.
 

> And MSYS had these errors: 
>
> Testing: X86 AES-NI code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -D_XOPEN_SOURCE=700 -fPIC -m64 -pipe 
> -c rijndael.cpp 
> ERROR: failed to generate aesenc instruction 
> ERROR: failed to generate aesenclast instruction 
> ERROR: failed to generate aesdec instruction 
> ERROR: failed to generate aesdeclast instruction 
> ERROR: failed to generate aesimc instruction 
> ERROR: failed to generate aeskeygenassist instruction 
> ************************************ 
> Testing: X86 carryless multiply code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -D_XOPEN_SOURCE=700 -fPIC -m64 -pipe 
> -c gcm.cpp 
> ERROR: failed to generate pclmullqhq instruction 
> ERROR: failed to generate pclmullqlq instruction 
> ************************************ 
> Testing: X86 RDRAND and RDSEED code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -D_XOPEN_SOURCE=700 -fPIC -m64 -pipe 
> -c rdrand.cpp 
> Verified rdrand and rdseed machine instructions 
> ************************************ 
> Testing: X86 CRC32 code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -D_XOPEN_SOURCE=700 -fPIC -m64 -pipe 
> -c crc.cpp 
> ERROR: failed to generate crc32l instruction 
> ERROR: failed to generate crc32b instruction 
> ************************************ 
> Testing: X86 SHA code generation 
> g++ -DNDEBUG -g2 -O2 -msse -msse2 -D_XOPEN_SOURCE=700 -fPIC -m64 -pipe 
> -c sha.cpp 
> ERROR: failed to generate sha1rnds4 instruction 
> ERROR: failed to generate sha1nexte instruction 
> ERROR: failed to generate sha1msg1 instruction 
> ERROR: failed to generate sha1msg2 instruction 
> ERROR: failed to generate sha256rnds2 instruction 
> ERROR: failed to generate sha256msg1 instruction 
> ERROR: failed to generate sha256msg2 instruction 
> ************************************ 
>

OK< this could be an old linker, too. Or, MinGW could genuinely be having 
trouble.

Let me look at the code.

Jeff

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to