>> > 3) The test program core dumps when run with the v option. >> > Testing MessageDigest algorithm SHA-384. >> > ..signal BUS (invalid address alignment) in CryptoPP::SHA512::Transform >> > at >> > line 27 in file "sha.cpp" > > [stack trace snipped] >> >> OK, this is good stuff here. I can't duplicate in my modest test >> environment, but its obvious 'data = 0xffffffff7fffc1ec' is only >> aligned to 2-bytes, while you likely need 8-byte or 16-byte alignment >> due to SSE2. >> >> Here's the first - and only - thing you should do at the moment: >> >> gmake distclean >> cp config.recommend config.h >> >> >> gmake -j 4 ... >> >> ./cryptest.exe v > > > I just tried that. It broke in the same place in the same way.
Back story... Crypto++ 5.6.3 and below only provided C/C++ implementation, and it ran kind of slow (relative to other Intel platforms). Effectively the library ran with CRYPTOPP_DISABLE_ASM. Sun/Oracle began supporting GCC-style inline assembly at Sun Studio 12 (cf., http://blogs.oracle.com/x86be/entry/gcc_style_asm_inlining_support). Early testing on Intel platforms showed a lot of promise so I enabled it. Enabling the ASM brought in more maintenance for the library because SunCC is fragile a times (q.v.), but I think its worth it. (A) The next step in troubleshooting is to disable all ASM. gmake distclean CXXFLAGS="-DNDEBUG -g3 -xO2 -DCRYPTOPP_DISABLE_ASM" CXXFLAGS="$CXXFLAGS" gmake -j 4 ./cryptest.exe v *if* that resolves the problem, then the next step is to disable ASM in SHA only. That SHA has its own "disable ASM" macro should tell you how much trouble its given me on Intel platforms. There are a handful of other offenders like SHA. (B) Disable ASM in SHA gmake distclean CXXFLAGS="-DNDEBUG -g3 -xO2 -DCRYPTOPP_DISABLE_SHA_ASM" CXXFLAGS="$CXXFLAGS" gmake -j 4 ./cryptest.exe v I've got a feeling one of these two will squash the problem for you. I don't know why you need them when I don't. I suspect its due to different versions of the compiler. I suspect you likely use the latest/patched version while I have the free version without updates. I don't recall if you stated it, but does G++ have the same issue? I suspect not. If you don't know and are curious, then you can: gmake distclean CXX=/bin/g++ gmake -j 4 ./cryptest.exe v Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
