I workarounded that by changing whrpool.cpp:612: Line: digest[i] = s[i] = block[i] ^ (k[i] = digest[i]);
To: #if defined (__SUNPRO_CC) word64 block_i = 0; memcpy(&block_i, &block[i], sizeof(block_i)); digest[i] = s[i] = block_i ^ (k[i] = digest[i]); #else digest[i] = s[i] = block[i] ^ (k[i] = digest[i]); #endif Now it fails here: Testing MAC algorithm VMAC(AES)-64. ....signal BUS (invalid address alignment) in CryptoPP::VMAC_Base::VHASH_Update_Template<false> at line 596 in file "vmac.cpp" 596 INNER_LOOP_ITERATION(0);^M (dbx) where =>[1] CryptoPP::VMAC_Base::VHASH_Update_Template<false>(this = 0x101167a10, data = 0xffffffff7fffa57c, blocksRemainingInWord64 = 304U), line 596 in "vmac.cpp" [2] CryptoPP::VMAC_Base::VHASH_Update(this = 0x101167a10, data = 0xffffffff7fffa57c, blocksRemainingInWord64 = 304U), line 817 in "vmac.cpp" [3] CryptoPP::VMAC_Base::HashMultipleBlocks(this = 0x101167a10, data = 0xffffffff7fffa57c, length = 2543U), line 824 in "vmac.cpp" [4] CryptoPP::IteratedHashBase<unsigned long,CryptoPP::MessageAuthenticationCode>::Update(this = 0x101167a10, input = 0xffffffff7fffa57c "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , len = 2543U), line 57 in "iterhash.cpp" [5] CryptoPP::HashVerificationFilter::NextPutMultiple(this = 0xffffffff7fffba20, inString = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U), line 837 in "filters.cpp" [6] CryptoPP::FilterWithBufferedInput::NextPutMaybeModifiable(this = 0xffffffff7fffba20, inString = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U, modifiable = false), line 397 in "filters.h" [7] CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(this = 0xffffffff7fffba20, inString = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U, messageEnd = 0, blocking = true, modifiable = false), line 387 in "filters.cpp" [8] CryptoPP::FilterWithBufferedInput::Put2(this = 0xffffffff7fffba20, inString = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U, messageEnd = 0, blocking = true), line 337 in "filters.h" [9] CryptoPP::BufferedTransformation::ChannelPut2(this = 0xffffffff7fffba20, channel = CLASS, begin = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U, messageEnd = 0, blocking = true), line 441 in "cryptlib.cpp" [10] CryptoPP::BufferedTransformation::ChannelPut(this = 0xffffffff7fffba20, channel = CLASS, inString = 0xffffffff7fffa576 "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab" ... use -L option to see the whole string , length = 2549U, blocking = true), line 1856 in "cryptlib.h" [11] CryptoPP::Test::RandomizedTransfer(source = CLASS, target = CLASS, finish = false, channel = CLASS), line 93 in "datatest.cpp" [12] CryptoPP::Test::PutDecodedDatumInto(data = CLASS, name = 0x100bccca0 "Message", target = CLASS), line 139 in "datatest.cpp" [13] CryptoPP::Test::TestDigestOrMAC(v = CLASS, testDigest = false), line 606 in "datatest.cpp" [14] CryptoPP::Test::TestDataFile(filename = CLASS, overrideParameters = CLASS, totalTests = 4U, failedTests = 0), line 807 in "datatest.cpp" [15] CryptoPP::Test::RunTestDataFile(filename = 0x100acd7a7 "TestVectors/vmac.txt", overrideParameters = CLASS, thorough = true), line 846 in "datatest.cpp" [16] CryptoPP::Test::ValidateVMAC(), line 2632 in "validat1.cpp" [17] CryptoPP::Test::ValidateAll(thorough = false), line 152 in "validat1.cpp" [18] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in "test.cpp" [19] main(argc = 2, argv = 0xffffffff7ffff3f8), line 406 in "test.cpp" (dbx) -- -- 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.