Coredump in cryptest.exe on Solaris 10

56 views
Skip to first unread message

Anton Gorev

unread,
Apr 20, 2017, 3:10:20 PM4/20/17
to Crypto++ Users
Hi,

I have troubles when execute cryptest.exe on Solaris 10. Below is information I collected so far. Please let me know if you need anything else.

Bug report for CryptoPP library
===============================

Sources snapshot was downloaded at revision cede0f3fb147e1fed37a914c37d2d31a4e1f99a9

Host information:
-----------------

$ uname -a
SunOS mhdevsol10 5.10 Generic_150400-17 sun4v sparc sun4v
$ /usr/bin/CC -V
CC: Sun C++ 5.12 SunOS_sparc Patch 148506-23 2014/09/10
$ /usr/bin/cc -V
cc: Sun C 5.12 SunOS_sparc Patch 148917-08 2014/09/10

Generating Makefiles:
---------------------

$ cmake -DCMAKE_BUILD_TYPE=Debug ..
-- The C compiler identification is SunPro 5.12.0
-- The CXX compiler identification is SunPro 5.12.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/CC
-- Check for working CXX compiler: /usr/bin/CC -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - big endian
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Compiler:
-- Flags:  -native -m64 -template=no%extdef
-- Build type: Debug
--
-- The following OPTIONAL packages have been found:

 * Threads

-- Configuring done
-- Generating done
-- Build files have been written to: /home/abuild/agorev/cryptopp/cryptopp-master/build
$

Building:
---------

$ gmake -j 8
Scanning dependencies of target cryptopp-object
[  5%] [  5%] [  5%] [  5%] [  5%] [  5%] [  5%] [  5%] Building CXX object CMakeFiles/cryptopp-object.dir/algebra.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/cpu.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/3way.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/algparam.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/adler32.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/integer.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/arc4.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[  7%] [  7%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/asn.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/aria.cpp.o
[  7%] Building CXX object CMakeFiles/cryptopp-object.dir/base32.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[  9%] Building CXX object CMakeFiles/cryptopp-object.dir/base64.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 11%] [ 11%] [ 11%] [ 11%] Building CXX object CMakeFiles/cryptopp-object.dir/authenc.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/basecode.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/blake2.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/bfinit.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 12%] Building CXX object CMakeFiles/cryptopp-object.dir/blowfish.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 13%] [ 13%] Building CXX object CMakeFiles/cryptopp-object.dir/blumshub.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/camellia.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 16%] [ 16%] [ 16%] Building CXX object CMakeFiles/cryptopp-object.dir/cast.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/casts.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/ccm.cpp.o
[ 17%] Building CXX object CMakeFiles/cryptopp-object.dir/cbcmac.cpp.o
[ 17%] Building CXX object CMakeFiles/cryptopp-object.dir/chacha.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 18%] Building CXX object CMakeFiles/cryptopp-object.dir/channels.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 19%] [ 19%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/cmac.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/crc.cpp.o
[ 21%] Building CXX object CMakeFiles/cryptopp-object.dir/default.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 21%] [ 21%] Building CXX object CMakeFiles/cryptopp-object.dir/des.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/dessp.cpp.o
[ 22%] Building CXX object CMakeFiles/cryptopp-object.dir/dh.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 23%] Building CXX object CMakeFiles/cryptopp-object.dir/dh2.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 24%] Building CXX object CMakeFiles/cryptopp-object.dir/dll.cpp.o
[ 24%] Building CXX object CMakeFiles/cryptopp-object.dir/dsa.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 26%] [ 26%] Building CXX object CMakeFiles/cryptopp-object.dir/ec2n.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/eax.cpp.o
[ 26%] Building CXX object CMakeFiles/cryptopp-object.dir/eccrypto.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 27%] Building CXX object CMakeFiles/cryptopp-object.dir/ecp.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 29%] [ 29%] Building CXX object CMakeFiles/cryptopp-object.dir/elgamal.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/emsa2.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 29%] Building CXX object CMakeFiles/cryptopp-object.dir/eprecomp.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
1 Warning(s) detected.
[ 32%] [ 32%] [ 32%] Building CXX object CMakeFiles/cryptopp-object.dir/esign.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/filters.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/files.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 32%] Building CXX object CMakeFiles/cryptopp-object.dir/fips140.cpp.o
[ 33%] Building CXX object CMakeFiles/cryptopp-object.dir/gcm.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 34%] Building CXX object CMakeFiles/cryptopp-object.dir/gf256.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 34%] Building CXX object CMakeFiles/cryptopp-object.dir/gf2_32.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 36%] [ 36%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/gf2n.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/gfpcrypt.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 37%] [ 37%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/gost.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/gzip.cpp.o
[ 38%] Building CXX object CMakeFiles/cryptopp-object.dir/hex.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 40%] Building CXX object CMakeFiles/cryptopp-object.dir/hmac.cpp.o
[ 40%] Building CXX object CMakeFiles/cryptopp-object.dir/hrtimer.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 40%] Building CXX object CMakeFiles/cryptopp-object.dir/ida.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 42%] [ 42%] Building CXX object CMakeFiles/cryptopp-object.dir/idea.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/keccak.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 45%] [ 45%] [ 45%] Building CXX object CMakeFiles/cryptopp-object.dir/mars.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/luc.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/iterhash.cpp.o
[ 45%] Building CXX object CMakeFiles/cryptopp-object.dir/marss.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 45%] Building CXX object CMakeFiles/cryptopp-object.dir/md2.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 47%] [ 47%] Building CXX object CMakeFiles/cryptopp-object.dir/md4.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/md5.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 47%] Building CXX object CMakeFiles/cryptopp-object.dir/misc.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 50%] [ 50%] [ 50%] [ 50%] Building CXX object CMakeFiles/cryptopp-object.dir/mqueue.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/nbtheory.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/modes.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/mqv.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 53%] [ 53%] [ 53%] Building CXX object CMakeFiles/cryptopp-object.dir/network.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/osrng.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/oaep.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 53%] Building CXX object CMakeFiles/cryptopp-object.dir/panama.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
"/home/abuild/agorev/cryptopp/cryptopp-master/wait.h", line 162: Warning: Identifier expected instead of "}".
2 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 56%] [ 56%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/polynomi.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/pkcspad.cpp.o
[ 56%] [ 56%] Building CXX object CMakeFiles/cryptopp-object.dir/pssr.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/poly1305.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 57%] Building CXX object CMakeFiles/cryptopp-object.dir/pubkey.cpp.o
[ 58%] Building CXX object CMakeFiles/cryptopp-object.dir/queue.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 59%] [ 59%] Building CXX object CMakeFiles/cryptopp-object.dir/randpool.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/rabin.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 60%] Building CXX object CMakeFiles/cryptopp-object.dir/rc2.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 61%] [ 61%] Building CXX object CMakeFiles/cryptopp-object.dir/rc5.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/rc6.cpp.o
[ 62%] Building CXX object CMakeFiles/cryptopp-object.dir/rdrand.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 64%] [ 64%] [ 64%] Building CXX object CMakeFiles/cryptopp-object.dir/rdtables.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/rijndael.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/ripemd.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 65%] Building CXX object CMakeFiles/cryptopp-object.dir/rng.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 66%] [ 66%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/rsa.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/rw.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 69%] [ 69%] [ 69%] [ 69%] Building CXX object CMakeFiles/cryptopp-object.dir/safer.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/seed.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/seal.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/salsa.cpp.o
[ 70%] Building CXX object CMakeFiles/cryptopp-object.dir/serpent.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 71%] Building CXX object CMakeFiles/cryptopp-object.dir/sha.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 71%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/sha3.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 74%] [ 74%] [ 74%] [ 74%] Building CXX object CMakeFiles/cryptopp-object.dir/shark.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/sharkbox.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/skipjack.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/shacal2.cpp.o
[ 76%] [ 76%] Building CXX object CMakeFiles/cryptopp-object.dir/socketft.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/sosemanuk.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 76%] Building CXX object CMakeFiles/cryptopp-object.dir/square.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 79%] Building CXX object CMakeFiles/cryptopp-object.dir/squaretb.cpp.o
[ 79%] [ 79%] [ 79%] Building CXX object CMakeFiles/cryptopp-object.dir/tftables.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/strciphr.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/tea.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
"/home/abuild/agorev/cryptopp/cryptopp-master/wait.h", line 162: Warning: Identifier expected instead of "}".
2 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 82%] [ 82%] Building CXX object CMakeFiles/cryptopp-object.dir/tiger.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/tigertab.cpp.o
[ 82%] Building CXX object CMakeFiles/cryptopp-object.dir/trdlocal.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 82%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/ttmac.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 83%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/twofish.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 87%] [ 87%] [ 87%] [ 87%] [ 87%] [ 87%] Building CXX object CMakeFiles/cryptopp-object.dir/wake.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/xtr.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/whrlpool.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/xtrcrypt.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/wait.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/vmac.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
"/home/abuild/agorev/cryptopp/cryptopp-master/wait.h", line 162: Warning: Identifier expected instead of "}".
2 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 90%] [ 90%] [ 90%] "/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Building CXX object CMakeFiles/cryptopp-object.dir/zlib.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/zinflate.cpp.o
Building CXX object CMakeFiles/cryptopp-object.dir/zdeflate.cpp.o
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 90%] Built target cryptopp-object
Scanning dependencies of target cryptopp-shared
Scanning dependencies of target cryptopp-static
Linking CXX shared library libcryptopp.so
Linking CXX static library libcryptopp.a
[ 90%] Built target cryptopp-static
Scanning dependencies of target cryptest
[ 95%] [ 95%] [ 95%] Building CXX object CMakeFiles/cryptest.dir/bench1.cpp.o
Building CXX object CMakeFiles/cryptest.dir/bench2.cpp.o
Building CXX object CMakeFiles/cryptest.dir/validat2.cpp.o
CC: WarningCC: Warning: Option CC: Warning-KPIE:  passed to ld, if ld is invoked, ignored otherwise
Option : -KPIE passed to ld, if ld is invoked, ignored otherwise
Option -KPIE passed to ld, if ld is invoked, ignored otherwise
[ 95%] [ 95%] Building CXX object CMakeFiles/cryptest.dir/test.cpp.o
Building CXX object CMakeFiles/cryptest.dir/validat0.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
[ 95%] Building CXX object CMakeFiles/cryptest.dir/validat3.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
[ 95%] Building CXX object CMakeFiles/cryptest.dir/validat1.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
[ 95%] Built target cryptopp-shared
[ 95%] Building CXX object CMakeFiles/cryptest.dir/datatest.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 96%] Building CXX object CMakeFiles/cryptest.dir/regtest1.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 97%] Building CXX object CMakeFiles/cryptest.dir/regtest2.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 97%] Building CXX object CMakeFiles/cryptest.dir/regtest3.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[ 98%] Building CXX object CMakeFiles/cryptest.dir/fipsalgt.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
[ 99%] Building CXX object CMakeFiles/cryptest.dir/dlltest.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
[100%] Building CXX object CMakeFiles/cryptest.dir/fipstest.cpp.o
CC: Warning: Option -KPIE passed to ld, if ld is invoked, ignored otherwise
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
"/home/abuild/agorev/cryptopp/cryptopp-master/wait.h", line 162: Warning: Identifier expected instead of "}".
2 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
Linking CXX executable cryptest.exe
[100%] Built target cryptest
$

Testing:
========

$ ctest
Test project /home/abuild/agorev/cryptopp/cryptopp-master/build
    Start 1: build_cryptest
1/2 Test #1: build_cryptest ...................   Passed   24.99 sec
    Start 2: cryptest
2/2 Test #2: cryptest .........................***Exception: SegFault  2.50 sec

50% tests passed, 1 tests failed out of 2

Total Test time (real) =  28.07 sec

The following tests FAILED:
          2 - cryptest (SEGFAULT)
Errors while running CTest
$

Stack:
======

$ dbx cryptest.exe
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading cryptest.exe
Reading ld.so.1
Reading libnsl.so.1
Reading libsocket.so.1
Reading libCstd.so.1
Reading libCrun.so.1
Reading libm.so.2
Reading libc.so.1
(dbx) run v
Running: cryptest.exe v
(process id 13204)
Reading libc_psr.so.1
Using seed: 1492714363

Testing Settings...

passed:  Your machine is big endian.
passed:  CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS is not defined. Will restrict to aligned data access.
passed:  sizeof(byte) == 1
passed:  sizeof(word16) == 2
passed:  sizeof(word32) == 4
passed:  sizeof(word64) == 8
passed:  sizeof(hword) == 2, sizeof(word) == 4, sizeof(dword) == 8

Testing operating system provided blocking random number generator...

passed:  it took 0 seconds to generate 16 bytes
passed:  16 generated bytes compressed to 19 bytes by DEFLATE

Testing operating system provided nonblocking random number generator...

passed:  100000 generated bytes compressed to 100020 bytes by DEFLATE

Testing AutoSeeded generator...

passed:  100000 generated bytes compressed to 100020 bytes by DEFLATE
passed:  discarded 10000 bytes
passed:  IncorporateEntropy with 128 bytes

Testing AutoSeeded X917 generator...

passed:  100000 generated bytes compressed to 100020 bytes by DEFLATE
passed:  discarded 10000 bytes
passed:  IncorporateEntropy with 128 bytes

CRC-32 validation suite running...

passed   00000000   ""
passed   43beb7e8   "a"
passed   c2412435   "abc"
passed   7f9d1520   "message digest"
passed   bd50274c   "abcdefghijklmnopqrstuvwxyz"
passed   d2e6c21f   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
passed   724aa97c   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
passed   2639f4cb   "123456789"

CRC-32C validation suite running...

passed   00000000   ""
passed   3043d0c1   "a"
passed   b73f4b36   "abc"
passed   d079bd02   "message digest"
passed   25efe69e   "abcdefghijklmnopqrstuvwxyz"
passed   7dd545a2   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
passed   81677a47   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
passed   839206e3   "123456789"

Adler-32 validation suite running...

passed   00000001   ""
passed   00620062   "a"
passed   024d0127   "abc"
passed   29750586   "message digest"
passed   90860b20   "abcdefghijklmnopqrstuvwxyz"
passed   8adb150c   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
passed   15d870f9   "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" repeated 15625 times

MD2 validation suite running...

passed   8350e5a3e24c153df2275c9f80692773   ""
passed   32ec01ec4a6dac72c0ab96fb34c0b5d1   "a"
passed   da853b0d3f88d99b30283a69e6ded6bb   "abc"
passed   ab4f496bfb2a530b219ff33031fe06b0   "message digest"
passed   4e8ddff3650292ab5a4108c3aa47940b   "abcdefghijklmnopqrstuvwxyz"
passed   da33def2a42df13975352846c30338cd   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
passed   d5976f79d83d3a0dc9806c3c66f3efd8   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"

MD5 validation suite running...

passed   d41d8cd98f00b204e9800998ecf8427e   ""
passed   0cc175b9c0f1b6a831c399e269772661   "a"
passed   900150983cd24fb0d6963f7d28e17f72   "abc"
passed   f96b697d7cb7938d525a2f31aaf161d0   "message digest"
passed   c3fcd3d76192e4007dfb496cca67e13b   "abcdefghijklmnopqrstuvwxyz"
passed   d174ab98d277d9f5a5611c2c9f419d9f   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
passed   57edf4a22be3c955ac49da2e2107b67a   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"

SHA validation suite running...


Testing MessageDigest algorithm SHA-1.
...
Testing MessageDigest algorithm SHA-224.
...
Testing MessageDigest algorithm SHA-256.
...
Testing MessageDigest algorithm SHA-384.
..signal BUS (invalid address alignment) in CryptoPP::SHA512::Transform at line 1762 in file "sha.cpp"
 1762           R( 0); R( 1); R( 2); R( 3);^M
(dbx) where
=>[1] CryptoPP::SHA512::Transform(state = 0x101167a08, data = 0xffffffff7fffa68c), line 1762 in "sha.cpp"
  [2] CryptoPP::SHA384::Transform(digest = 0x101167a08, data = 0xffffffff7fffa68c), line 85 in "sha.h"
  [3] CryptoPP::IteratedHashWithStaticTransform<unsigned long,CryptoPP::EnumToType<CryptoPP::ByteOrder,1>,128U,64U,CryptoPP::SHA384,48U,0>::HashEndianCorrectedBlock(this = 0x101167950, data = 0xffffffff7fffa68c), line 165 in "iterhash.h"
  [4] CryptoPP::IteratedHashBase<unsigned long,CryptoPP::HashTransformation>::HashMultipleBlocks(this = 0x101167950, input = 0xffffffff7fffa68c, length = 2852U), line 94 in "iterhash.cpp"
  [5] CryptoPP::IteratedHashBase<unsigned long,CryptoPP::HashTransformation>::Update(this = 0x101167950, input = 0xffffffff7fffa68c "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , len = 2852U), line 57 in "iterhash.cpp"
  [6] CryptoPP::HashVerificationFilter::NextPutMultiple(this = 0xffffffff7fffbaf0, inString = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U), line 837 in "filters.cpp"
  [7] CryptoPP::FilterWithBufferedInput::NextPutMaybeModifiable(this = 0xffffffff7fffbaf0, inString = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U, modifiable = false), line 397 in "filters.h"
  [8] CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(this = 0xffffffff7fffbaf0, inString = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U, messageEnd = 0, blocking = true, modifiable = false), line 387 in "filters.cpp"
  [9] CryptoPP::FilterWithBufferedInput::Put2(this = 0xffffffff7fffbaf0, inString = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U, messageEnd = 0, blocking = true), line 337 in "filters.h"
  [10] CryptoPP::BufferedTransformation::ChannelPut2(this = 0xffffffff7fffbaf0, channel = CLASS, begin = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U, messageEnd = 0, blocking = true), line 441 in "cryptlib.cpp"
  [11] CryptoPP::BufferedTransformation::ChannelPut(this = 0xffffffff7fffbaf0, channel = CLASS, inString = 0xffffffff7fffa667 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 2889U, blocking = true), line 1856 in "cryptlib.h"
  [12] CryptoPP::Test::RandomizedTransfer(source = CLASS, target = CLASS, finish = false, channel = CLASS), line 93 in "datatest.cpp"
  [13] CryptoPP::Test::PutDecodedDatumInto(data = CLASS, name = 0x100bcc9a0 "Message", target = CLASS), line 139 in "datatest.cpp"
  [14] CryptoPP::Test::TestDigestOrMAC(v = CLASS, testDigest = true), line 606 in "datatest.cpp"
  [15] CryptoPP::Test::TestDataFile(filename = CLASS, overrideParameters = CLASS, totalTests = 11U, failedTests = 0), line 805 in "datatest.cpp"
  [16] CryptoPP::Test::RunTestDataFile(filename = 0x100b9a2c1 "TestVectors/sha.txt", overrideParameters = CLASS, thorough = true), line 846 in "datatest.cpp"
  [17] CryptoPP::Test::ValidateSHA(), line 211 in "validat3.cpp"
  [18] CryptoPP::Test::ValidateAll(thorough = false), line 103 in "validat1.cpp"
  [19] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in "test.cpp"
  [20] main(argc = 2, argv = 0xffffffff7ffff4c8), line 406 in "test.cpp"
(dbx) exit
$

Compiler and linker invocation:
-------------------------------

$ touch ../sha.cpp
$ gmake VERBOSE=1
/opt/csw/bin/cmake -H/home/abuild/agorev/cryptopp/cryptopp-master -B/home/abuild/agorev/cryptopp/cryptopp-master/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/csw/bin/cmake -E cmake_progress_start /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
gmake -f CMakeFiles/cryptopp-object.dir/build.make CMakeFiles/cryptopp-object.dir/depend
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
cd /home/abuild/agorev/cryptopp/cryptopp-master/build && /opt/csw/bin/cmake -E cmake_depends "Unix Makefiles" /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/cryptopp-object.dir/DependInfo.cmake --color=
Dependee "/home/abuild/agorev/cryptopp/cryptopp-master/sha.cpp" is newer than depender "CMakeFiles/cryptopp-object.dir/sha.cpp.o".
Clearing dependencies in "/home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/cryptopp-object.dir/depend.make".
Scanning dependencies of target cryptopp-object
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
gmake -f CMakeFiles/cryptopp-object.dir/build.make CMakeFiles/cryptopp-object.dir/build
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_report /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles 81
[  1%] Building CXX object CMakeFiles/cryptopp-object.dir/sha.cpp.o
/usr/bin/CC   -DIS_BIG_ENDIAN -native -m64 -template=no%extdef -g -KPIC   -o CMakeFiles/cryptopp-object.dir/sha.cpp.o -c /home/abuild/agorev/cryptopp/cryptopp-master/sha.cpp
"/home/abuild/agorev/cryptopp/cryptopp-master/config.h", line 13: Warning (Anachronism): Attempt to redefine IS_BIG_ENDIAN without using #undef.
1 Warning(s) detected.
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_report /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles  11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
[ 90%] Built target cryptopp-object
gmake -f CMakeFiles/cryptopp-static.dir/build.make CMakeFiles/cryptopp-static.dir/depend
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
cd /home/abuild/agorev/cryptopp/cryptopp-master/build && /opt/csw/bin/cmake -E cmake_depends "Unix Makefiles" /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/cryptopp-static.dir/DependInfo.cmake --color=
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
gmake -f CMakeFiles/cryptopp-static.dir/build.make CMakeFiles/cryptopp-static.dir/build
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
Linking CXX static library libcryptopp.a
/opt/csw/bin/cmake -P CMakeFiles/cryptopp-static.dir/cmake_clean_target.cmake
/opt/csw/bin/cmake -E cmake_link_script CMakeFiles/cryptopp-static.dir/link.txt --verbose=1
/usr/bin/CC  -xar -o libcryptopp.a CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o CMakeFiles/cryptopp-object.dir/cpu.cpp.o CMakeFiles/cryptopp-object.dir/integer.cpp.o CMakeFiles/cryptopp-object.dir/3way.cpp.o CMakeFiles/cryptopp-object.dir/adler32.cpp.o CMakeFiles/cryptopp-object.dir/algebra.cpp.o CMakeFiles/cryptopp-object.dir/algparam.cpp.o CMakeFiles/cryptopp-object.dir/arc4.cpp.o CMakeFiles/cryptopp-object.dir/aria.cpp.o CMakeFiles/cryptopp-object.dir/asn.cpp.o CMakeFiles/cryptopp-object.dir/authenc.cpp.o CMakeFiles/cryptopp-object.dir/base32.cpp.o CMakeFiles/cryptopp-object.dir/base64.cpp.o CMakeFiles/cryptopp-object.dir/basecode.cpp.o CMakeFiles/cryptopp-object.dir/bfinit.cpp.o CMakeFiles/cryptopp-object.dir/blake2.cpp.o CMakeFiles/cryptopp-object.dir/blowfish.cpp.o CMakeFiles/cryptopp-object.dir/blumshub.cpp.o CMakeFiles/cryptopp-object.dir/camellia.cpp.o CMakeFiles/cryptopp-object.dir/cast.cpp.o CMakeFiles/cryptopp-object.dir/casts.cpp.o CMakeFiles/cryptopp-object.dir/cbcmac.cpp.o CMakeFiles/cryptopp-object.dir/ccm.cpp.o CMakeFiles/cryptopp-object.dir/chacha.cpp.o CMakeFiles/cryptopp-object.dir/channels.cpp.o CMakeFiles/cryptopp-object.dir/cmac.cpp.o CMakeFiles/cryptopp-object.dir/crc.cpp.o CMakeFiles/cryptopp-object.dir/default.cpp.o CMakeFiles/cryptopp-object.dir/des.cpp.o CMakeFiles/cryptopp-object.dir/dessp.cpp.o CMakeFiles/cryptopp-object.dir/dh.cpp.o CMakeFiles/cryptopp-object.dir/dh2.cpp.o CMakeFiles/cryptopp-object.dir/dll.cpp.o CMakeFiles/cryptopp-object.dir/dsa.cpp.o CMakeFiles/cryptopp-object.dir/eax.cpp.o CMakeFiles/cryptopp-object.dir/ec2n.cpp.o CMakeFiles/cryptopp-object.dir/eccrypto.cpp.o CMakeFiles/cryptopp-object.dir/ecp.cpp.o CMakeFiles/cryptopp-object.dir/elgamal.cpp.o CMakeFiles/cryptopp-object.dir/emsa2.cpp.o CMakeFiles/cryptopp-object.dir/eprecomp.cpp.o CMakeFiles/cryptopp-object.dir/esign.cpp.o CMakeFiles/cryptopp-object.dir/files.cpp.o CMakeFiles/cryptopp-object.dir/filters.cpp.o CMakeFiles/cryptopp-object.dir/fips140.cpp.o CMakeFiles/cryptopp-object.dir/gcm.cpp.o CMakeFiles/cryptopp-object.dir/gf256.cpp.o CMakeFiles/cryptopp-object.dir/gf2_32.cpp.o CMakeFiles/cryptopp-object.dir/gf2n.cpp.o CMakeFiles/cryptopp-object.dir/gfpcrypt.cpp.o CMakeFiles/cryptopp-object.dir/gost.cpp.o CMakeFiles/cryptopp-object.dir/gzip.cpp.o CMakeFiles/cryptopp-object.dir/hex.cpp.o CMakeFiles/cryptopp-object.dir/hmac.cpp.o CMakeFiles/cryptopp-object.dir/hrtimer.cpp.o CMakeFiles/cryptopp-object.dir/ida.cpp.o CMakeFiles/cryptopp-object.dir/idea.cpp.o CMakeFiles/cryptopp-object.dir/iterhash.cpp.o CMakeFiles/cryptopp-object.dir/keccak.cpp.o CMakeFiles/cryptopp-object.dir/luc.cpp.o CMakeFiles/cryptopp-object.dir/mars.cpp.o CMakeFiles/cryptopp-object.dir/marss.cpp.o CMakeFiles/cryptopp-object.dir/md2.cpp.o CMakeFiles/cryptopp-object.dir/md4.cpp.o CMakeFiles/cryptopp-object.dir/md5.cpp.o CMakeFiles/cryptopp-object.dir/misc.cpp.o CMakeFiles/cryptopp-object.dir/modes.cpp.o CMakeFiles/cryptopp-object.dir/mqueue.cpp.o CMakeFiles/cryptopp-object.dir/mqv.cpp.o CMakeFiles/cryptopp-object.dir/nbtheory.cpp.o CMakeFiles/cryptopp-object.dir/network.cpp.o CMakeFiles/cryptopp-object.dir/oaep.cpp.o CMakeFiles/cryptopp-object.dir/osrng.cpp.o CMakeFiles/cryptopp-object.dir/panama.cpp.o CMakeFiles/cryptopp-object.dir/pkcspad.cpp.o CMakeFiles/cryptopp-object.dir/poly1305.cpp.o CMakeFiles/cryptopp-object.dir/polynomi.cpp.o CMakeFiles/cryptopp-object.dir/pssr.cpp.o CMakeFiles/cryptopp-object.dir/pubkey.cpp.o CMakeFiles/cryptopp-object.dir/queue.cpp.o CMakeFiles/cryptopp-object.dir/rabin.cpp.o CMakeFiles/cryptopp-object.dir/randpool.cpp.o CMakeFiles/cryptopp-object.dir/rc2.cpp.o CMakeFiles/cryptopp-object.dir/rc5.cpp.o CMakeFiles/cryptopp-object.dir/rc6.cpp.o CMakeFiles/cryptopp-object.dir/rdrand.cpp.o CMakeFiles/cryptopp-object.dir/rdtables.cpp.o CMakeFiles/cryptopp-object.dir/rijndael.cpp.o CMakeFiles/cryptopp-object.dir/ripemd.cpp.o CMakeFiles/cryptopp-object.dir/rng.cpp.o CMakeFiles/cryptopp-object.dir/rsa.cpp.o CMakeFiles/cryptopp-object.dir/rw.cpp.o CMakeFiles/cryptopp-object.dir/safer.cpp.o CMakeFiles/cryptopp-object.dir/salsa.cpp.o CMakeFiles/cryptopp-object.dir/seal.cpp.o CMakeFiles/cryptopp-object.dir/seed.cpp.o CMakeFiles/cryptopp-object.dir/serpent.cpp.o CMakeFiles/cryptopp-object.dir/sha.cpp.o CMakeFiles/cryptopp-object.dir/sha3.cpp.o CMakeFiles/cryptopp-object.dir/shacal2.cpp.o CMakeFiles/cryptopp-object.dir/shark.cpp.o CMakeFiles/cryptopp-object.dir/sharkbox.cpp.o CMakeFiles/cryptopp-object.dir/skipjack.cpp.o CMakeFiles/cryptopp-object.dir/socketft.cpp.o CMakeFiles/cryptopp-object.dir/sosemanuk.cpp.o CMakeFiles/cryptopp-object.dir/square.cpp.o CMakeFiles/cryptopp-object.dir/squaretb.cpp.o CMakeFiles/cryptopp-object.dir/strciphr.cpp.o CMakeFiles/cryptopp-object.dir/tea.cpp.o CMakeFiles/cryptopp-object.dir/tftables.cpp.o CMakeFiles/cryptopp-object.dir/tiger.cpp.o CMakeFiles/cryptopp-object.dir/tigertab.cpp.o CMakeFiles/cryptopp-object.dir/trdlocal.cpp.o CMakeFiles/cryptopp-object.dir/ttmac.cpp.o CMakeFiles/cryptopp-object.dir/twofish.cpp.o CMakeFiles/cryptopp-object.dir/vmac.cpp.o CMakeFiles/cryptopp-object.dir/wait.cpp.o CMakeFiles/cryptopp-object.dir/wake.cpp.o CMakeFiles/cryptopp-object.dir/whrlpool.cpp.o CMakeFiles/cryptopp-object.dir/xtr.cpp.o CMakeFiles/cryptopp-object.dir/xtrcrypt.cpp.o CMakeFiles/cryptopp-object.dir/zdeflate.cpp.o CMakeFiles/cryptopp-object.dir/zinflate.cpp.o CMakeFiles/cryptopp-object.dir/zlib.cpp.o
/usr/ccs/bin/ranlib libcryptopp.a
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_report /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles
[ 90%] Built target cryptopp-static
gmake -f CMakeFiles/cryptest.dir/build.make CMakeFiles/cryptest.dir/depend
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
cd /home/abuild/agorev/cryptopp/cryptopp-master/build && /opt/csw/bin/cmake -E cmake_depends "Unix Makefiles" /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/cryptest.dir/DependInfo.cmake --color=
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
gmake -f CMakeFiles/cryptest.dir/build.make CMakeFiles/cryptest.dir/build
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
Linking CXX executable cryptest.exe
/opt/csw/bin/cmake -E cmake_link_script CMakeFiles/cryptest.dir/link.txt --verbose=1
/usr/bin/CC    -native -m64 -template=no%extdef -g  -native -m64 -template=no%extdef  CMakeFiles/cryptest.dir/test.cpp.o CMakeFiles/cryptest.dir/bench1.cpp.o CMakeFiles/cryptest.dir/bench2.cpp.o CMakeFiles/cryptest.dir/validat0.cpp.o CMakeFiles/cryptest.dir/validat1.cpp.o CMakeFiles/cryptest.dir/validat2.cpp.o CMakeFiles/cryptest.dir/validat3.cpp.o CMakeFiles/cryptest.dir/datatest.cpp.o CMakeFiles/cryptest.dir/regtest1.cpp.o CMakeFiles/cryptest.dir/regtest2.cpp.o CMakeFiles/cryptest.dir/regtest3.cpp.o CMakeFiles/cryptest.dir/fipsalgt.cpp.o CMakeFiles/cryptest.dir/dlltest.cpp.o CMakeFiles/cryptest.dir/fipstest.cpp.o  -o cryptest.exe  libcryptopp.a -lnsl -lsocket
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_report /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles  1 2 3 4 5 6 7 8 9 10
[100%] Built target cryptest
gmake -f CMakeFiles/cryptopp-shared.dir/build.make CMakeFiles/cryptopp-shared.dir/depend
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
cd /home/abuild/agorev/cryptopp/cryptopp-master/build && /opt/csw/bin/cmake -E cmake_depends "Unix Makefiles" /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles/cryptopp-shared.dir/DependInfo.cmake --color=
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
gmake -f CMakeFiles/cryptopp-shared.dir/build.make CMakeFiles/cryptopp-shared.dir/build
gmake[2]: Entering directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
Linking CXX shared library libcryptopp.so
/opt/csw/bin/cmake -E cmake_link_script CMakeFiles/cryptopp-shared.dir/link.txt --verbose=1
/usr/bin/CC  -KPIC  -native -m64 -template=no%extdef -g  -G -hlibcryptopp.so.6.0 -o libcryptopp.so.6.0 CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o CMakeFiles/cryptopp-object.dir/cpu.cpp.o CMakeFiles/cryptopp-object.sd/integer.cpp.o CMakeFiles/cryptopp-object.dir/3way.cpp.o CMakeFiles/cryptopp-object.dir/adler32.cpp.o CMakeFiles/cryptopp-object.dir/algebra.cpp.o CMakeFiles/cryptopp-object.dir/algparam.cpp.o CMakeFiles/cryptopp-object.dir/arc4.cpp.o CMakeFiles/cryptopp-object.dir/aria.cpp.o CMakeFiles/cryptopp-object.dir/asn.cpp.o CMakeFiles/cryptopp-object.dir/authenc.cpp.o CMakeFiles/cryptopp-object.dir/base32.cpp.o CMakeFiles/cryptopp-object.dir/base64.cpp.o CMakeFiles/cryptopp-object.dir/basecode.cpp.o CMakeFiles/cryptopp-object.dir/bfinit.cpp.o CMakeFiles/cryptopp-object.dir/blake2.cpp.o CMakeFiles/cryptopp-object.dir/blowfish.cpp.o CMakeFiles/cryptopp-object.dir/blumshub.cpp.o CMakeFiles/cryptopp-object.dir/camellia.cpp.o CMakeFiles/cryptopp-object.dir/cast.cpp.o CMakeFiles/cryptopp-object.dir/casts.cpp.o CMakeFiles/cryptopp-object.dir/cbcmac.cpp.o CMakeFiles/cryptopp-object.dir/ccm.cpp.o CMakeFiles/cryptopp-object.dir/chacha.cpp.o CMakeFiles/cryptopp-object.dir/channels.cpp.o CMakeFiles/cryptopp-object.dir/cmac.cpp.o CMakeFiles/cryptopp-object.dir/crc.cpp.o CMakeFiles/cryptopp-object.dir/default.cpp.o CMakeFiles/cryptopp-object.dir/des.cpp.o CMakeFiles/cryptopp-object.dir/dessp.cpp.o CMakeFiles/cryptopp-object.dir/dh.cpp.o CMakeFiles/cryptopp-object.dir/dh2.cpp.o CMakeFiles/cryptopp-object.dir/dll.cpp.o CMakeFiles/cryptopp-object.dir/dsa.cpp.o CMakeFiles/cryptopp-object.dir/eax.cpp.o CMakeFiles/cryptopp-object.dir/ec2n.cpp.o CMakeFiles/cryptopp-object.dir/eccrypto.cpp.o CMakeFiles/cryptopp-object.dir/ecp.cpp.o CMakeFiles/cryptopp-object.dir/elgamal.cpp.o CMakeFiles/cryptopp-object.dir/emsa2.cpp.o CMakeFiles/cryptopp-object.dir/eprecomp.cpp.o CMakeFiles/cryptopp-object.dir/esign.cpp.o CMakeFiles/cryptopp-object.dir/files.cpp.o CMakeFiles/cryptopp-object.dir/filters.cpp.o CMakeFiles/cryptopp-object.dir/fips140.cpp.o CMakeFiles/cryptopp-object.dir/gcm.cpp.o CMakeFiles/cryptopp-object.dir/gf256.cpp.o CMakeFiles/cryptopp-object.dir/gf2_32.cpp.o CMakeFiles/cryptopp-object.dir/gf2n.cpp.o CMakeFiles/cryptopp-object.dir/gfpcrypt.cpp.o CMakeFiles/cryptopp-object.dir/gost.cpp.o CMakeFiles/cryptopp-object.dir/gzip.cpp.o CMakeFiles/cryptopp-object.dir/hex.cpp.o CMakeFiles/cryptopp-object.dir/hmac.cpp.o CMakeFiles/cryptopp-object.dir/hrtimer.cpp.o CMakeFiles/cryptopp-object.dir/ida.cpp.o CMakeFiles/cryptopp-object.dir/idea.cpp.o CMakeFiles/cryptopp-object.dir/iterhash.cpp.o CMakeFiles/cryptopp-object.dir/keccak.cpp.o CMakeFiles/cryptopp-object.dir/luc.cpp.o CMakeFiles/cryptopp-object.dir/mars.cpp.o CMakeFiles/cryptopp-object.dir/marss.cpp.o CMakeFiles/cryptopp-object.dir/md2.cpp.o CMakeFiles/cryptopp-object.dir/md4.cpp.o CMakeFiles/cryptopp-object.dir/md5.cpp.o CMakeFiles/cryptopp-object.dir/misc.cpp.o CMakeFiles/cryptopp-object.dir/modes.cpp.o CMakeFiles/cryptopp-object.dir/mqueue.cpp.o CMakeFiles/cryptopp-object.dir/mqv.cpp.o CMakeFiles/cryptopp-object.dir/nbtheory.cpp.o CMakeFiles/cryptopp-object.dir/network.cpp.o CMakeFiles/cryptopp-object.dir/oaep.cpp.o CMakeFiles/cryptopp-object.dir/osrng.cpp.o CMakeFiles/cryptopp-object.dir/panama.cpp.o CMakeFiles/cryptopp-object.dir/pkcspad.cpp.o CMakeFiles/cryptopp-object.dir/poly1305.cpp.o CMakeFiles/cryptopp-object.dir/polynomi.cpp.o CMakeFiles/cryptopp-object.dir/pssr.cpp.o CMakeFiles/cryptopp-object.dir/pubkey.cpp.o CMakeFiles/cryptopp-object.dir/queue.cpp.o CMakeFiles/cryptopp-object.dir/rabin.cpp.o CMakeFiles/cryptopp-object.dir/randpool.cpp.o CMakeFiles/cryptopp-object.dir/rc2.cpp.o CMakeFiles/cryptopp-object.dir/rc5.cpp.o CMakeFiles/cryptopp-object.dir/rc6.cpp.o CMakeFiles/cryptopp-object.dir/rdrand.cpp.o CMakeFiles/cryptopp-object.dir/rdtables.cpp.o CMakeFiles/cryptopp-object.dir/rijndael.cpp.o CMakeFiles/cryptopp-object.dir/ripemd.cpp.o CMakeFiles/cryptopp-object.dir/rng.cpp.o CMakeFiles/cryptopp-object.dir/rsa.cpp.o CMakeFiles/cryptopp-object.dir/rw.cpp.o CMakeFiles/cryptopp-object.dir/safer.cpp.o CMakeFiles/cryptopp-object.dir/salsa.cpp.o CMakeFiles/cryptopp-object.dir/seal.cpp.o CMakeFiles/cryptopp-object.dir/seed.cpp.o CMakeFiles/cryptopp-object.dir/serpent.cpp.o CMakeFiles/cryptopp-object.dir/sha.cpp.o CMakeFiles/cryptopp-object.dir/sha3.cpp.o CMakeFiles/cryptopp-object.dir/shacal2.cpp.o CMakeFiles/cryptopp-object.dir/shark.cpp.o CMakeFiles/cryptopp-object.dir/sharkbox.cpp.o CMakeFiles/cryptopp-object.dir/skipjack.cpp.o CMakeFiles/cryptopp-object.dir/socketft.cpp.o CMakeFiles/cryptopp-object.dir/sosemanuk.cpp.o CMakeFiles/cryptopp-object.dir/square.cpp.o CMakeFiles/cryptopp-object.dir/squaretb.cpp.o CMakeFiles/cryptopp-object.dir/strciphr.cpp.o CMakeFiles/cryptopp-object.dir/tea.cpp.o CMakeFiles/cryptopp-object.dir/tftables.cpp.o CMakeFiles/cryptopp-object.dir/tiger.cpp.o CMakeFiles/cryptopp-object.dir/tigertab.cpp.o CMakeFiles/cryptopp-object.dir/trdlocal.cpp.o CMakeFiles/cryptopp-object.dir/ttmac.cpp.o CMakeFiles/cryptopp-object.dir/twofish.cpp.o CMakeFiles/cryptopp-object.dir/vmac.cpp.o CMakeFiles/cryptopp-object.dir/wait.cpp.o CMakeFiles/cryptopp-object.dir/wake.cpp.o CMakeFiles/cryptopp-object.dir/whrlpool.cpp.o CMakeFiles/cryptopp-object.dir/xtr.cpp.o CMakeFiles/cryptopp-object.dir/xtrcrypt.cpp.o CMakeFiles/cryptopp-object.dir/zdeflate.cpp.o CMakeFiles/cryptopp-object.dir/zinflate.cpp.o CMakeFiles/cryptopp-object.dir/zlib.cpp.o -lnsl -lsocket
/opt/csw/bin/cmake -E cmake_symlink_library libcryptopp.so.6.0 libcryptopp.so.6.0 libcryptopp.so
gmake[2]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_report /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles
[100%] Built target cryptopp-shared
gmake[1]: Leaving directory '/home/abuild/agorev/cryptopp/cryptopp-master/build'
/opt/csw/bin/cmake -E cmake_progress_start /home/abuild/agorev/cryptopp/cryptopp-master/build/CMakeFiles 0
$


Anton Gorev

unread,
Apr 20, 2017, 3:16:25 PM4/20/17
to Crypto++ Users
Seems like message was cut off. Just in case full report is attached here.

четверг, 20 апреля 2017 г., 14:10:20 UTC-5 пользователь Anton Gorev написал:
<font color="#6666
bug.report.txt

Jeffrey Walton

unread,
Apr 21, 2017, 5:49:35 AM4/21/17
to Crypto++ Users


On Thursday, April 20, 2017 at 3:16:25 PM UTC-4, Anton Gorev wrote:
Seems like message was cut off. Just in case full report is attached here.

четверг, 20 апреля 2017 г., 14:10:20 UTC-5 пользователь Anton Gorev написал:
Hi,

I have troubles when execute cryptest.exe on Solaris 10. Below is information I collected so far. Please let me know if you need anything else.

sha.cpp : 1762 is this code, give or take (https://github.com/weidai11/cryptopp/blob/master/sha.cpp#L1747):

#define S0(x) (rotrFixed(x,28)^rotrFixed(x,34)^rotrFixed(x,39))
#define S1(x) (rotrFixed(x,14)^rotrFixed(x,18)^rotrFixed(x,41))
#define s0(x) (rotrFixed(x,1)^rotrFixed(x,8)^(x>>7))
#define s1(x) (rotrFixed(x,19)^rotrFixed(x,61)^(x>>6))

#define R(i) h(i)+=S1(e(i))+Ch(e(i),f(i),g(i))+SHA512_K[i+j]+(j?blk2(i):blk0(i));\
d(i)+=h(i);h(i)+=S0(a(i))+Maj(a(i),b(i),c(i))

word64 W[16];
word64 T[8];

/* Copy context->state[] to working vars */
memcpy(T, state, sizeof(T));

/* 80 operations, partially loop unrolled */
for (unsigned int j=0; j<80; j+=16)
{
     R( 0); R( 1); R( 2); R( 3);
     R( 4); R( 5); R( 6); R( 7);
     R( 8); R( 9); R(10); R(11);
     R(12); R(13); R(14); R(15);
}

The blk0(i) macro on line 43 is a suspect. Here it is:

    #define blk0(i) (W[i] = data[i])

And then improve it:

template <typename T>
inline T BLK0_TEMPLATE(const T* y, const int i)
{
    T t;
    memcpy(&t, y+i, sizeof(t));
    return t;
}

#if defined(__SUNPRO_CC)
#  define blk0(i) (W[i] = BLK0_TEMPLATE(data,i))
#else
#  define blk0(i) (W[i] = data[i])
#endif

This is kind of a blind stab since it looks like the data pointer is aligned. That's assuming the Sun hardware and word64 needs 8-byte alignment.

SunCC compiler issues can be a drag. I don't have test environment because I lack the hardware or access to a test environment with it. And SunCC is kind of flaky, so we often have to work around compiler bugs.

If that does not fix it, can you provide me with SSH access to the machine?

Jeff

Anton Gorev

unread,
Apr 21, 2017, 11:28:32 AM4/21/17
to Crypto++ Users
Hi Jeff,

Yes, it does fix the original error. But then it core dumps in other place:

Testing MessageDigest algorithm Whirlpool.
........signal BUS (invalid address alignment) in CryptoPP::Whirlpool::Transform at line 612 in file "whrlpool.cpp"
 
612                   digest[i] = s[i] = block[i] ^ (k[i] = digest[i]);^M
(dbx) where
=>[1] CryptoPP::Whirlpool::Transform(digest = 0x101168968, block = 0xffffffff7fffa62c), line 612 in "whrlpool.cpp"
 
[2] CryptoPP::IteratedHashWithStaticTransform<unsigned long,CryptoPP::EnumToType<CryptoPP::ByteOrder,1>,64U,64U,CryptoPP::Whirlpool,0U,false>::HashEndianCorrectedBlock(this = 0x1011688f0, data = 0xffffffff7fffa62c), line 165 in "iterhash.h"
 
[3] CryptoPP::IteratedHashBase<unsigned long,CryptoPP::HashTransformation>::HashMultipleBlocks(this = 0x1011688f0, input = 0xffffffff7fffa62c, length = 3538U), line 94 in "iterhash.cpp"
 
[4] CryptoPP::IteratedHashBase<unsigned long,CryptoPP::HashTransformation>::Update(this = 0x1011688f0, input = 0xffffffff7fffa62c "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , len = 3538U), line 57 in "iterhash.cpp"
 
[5] CryptoPP::HashVerificationFilter::NextPutMultiple(this = 0xffffffff7fffbab0, inString = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U), line 837 in "filters.cpp"
 
[6] CryptoPP::FilterWithBufferedInput::NextPutMaybeModifiable(this = 0xffffffff7fffbab0, inString = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U, modifiable = false), line 397 in "filters.h"
 
[7] CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(this = 0xffffffff7fffbab0, inString = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U, messageEnd = 0, blocking = true, modifiable = false), line 387 in "filters.cpp"
 
[8] CryptoPP::FilterWithBufferedInput::Put2(this = 0xffffffff7fffbab0, inString = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U, messageEnd = 0, blocking = true), line 337 in "filters.h"
 
[9] CryptoPP::BufferedTransformation::ChannelPut2(this = 0xffffffff7fffbab0, channel = CLASS, begin = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U, messageEnd = 0, blocking = true), line 441 in "cryptlib.cpp"
 
[10] CryptoPP::BufferedTransformation::ChannelPut(this = 0xffffffff7fffbab0, channel = CLASS, inString = 0xffffffff7fffa5fd "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ... use -L option to see the whole string , length = 3585U, 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 = 0x100bccc80 "Message", target = CLASS), line 139 in "datatest.cpp"
 
[13] CryptoPP::Test::TestDigestOrMAC(v = CLASS, testDigest = true), line 606 in "datatest.cpp"
 
[14] CryptoPP::Test::TestDataFile(filename = CLASS, overrideParameters = CLASS, totalTests = 8U, failedTests = 0), line 805 in "datatest.cpp"
 
[15] CryptoPP::Test::RunTestDataFile(filename = 0x100b9b2d2 "TestVectors/whrlpool.txt", overrideParameters = CLASS, thorough = true), line 846 in "datatest.cpp"
 
[16] CryptoPP::Test::ValidateWhirlpool(), line 369 in "validat3.cpp"
 
[17] CryptoPP::Test::ValidateAll(thorough = false), line 114 in "validat1.cpp"
 
[18] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in "test.cpp"
 
[19] main(argc = 2, argv = 0xffffffff7ffff488), line 406 in "test.cpp"
(dbx)

Unfortunately I cannot provide you SSH access to this machine.

Anton Gorev

unread,
Apr 21, 2017, 11:55:00 AM4/21/17
to Crypto++ Users
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)


Jeffrey Walton

unread,
Apr 21, 2017, 12:46:34 PM4/21/17
to Crypto++ Users


On Friday, April 21, 2017 at 11:55:00 AM UTC-4, Anton Gorev wrote:
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

I pinged Andrew Marlow. Andrew has suffered his share of these mystery crashes on Sun machines. I've never been able to duplicate them on my i86 test machines.

Let's see what he thinks.

Jeff

Anton Gorev

unread,
Apr 21, 2017, 2:06:16 PM4/21/17
to Crypto++ Users
Workaround in the same way. Changed definition of the INNER_LOOP_ITERATION (https://github.com/weidai11/cryptopp/blob/master/vmac.cpp#L549):

#define INNER_LOOP_ITERATION(j) {\
word64 d0 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, data[i+2*j+0]);\
word64 d1 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, data[i+2*j+1]);\
AccumulateNH(nhA, d0+nhK[i+2*j+0], d1+nhK[i+2*j+1]);\
if (T_128BitTag)\
AccumulateNH(nhB, d0+nhK[i+2*j+2], d1+nhK[i+2*j+3]);\
}

To:

#if defined(__SUNPRO_CC)
        #define PREPARE_D0_D1(j) \
                word64 d0_original = 0;\
                memcpy(&d0_original, data + i + 2*j + 0, sizeof(d0_original));\
                word64 d1_original = 0;\
                memcpy(&d1_original, data + i + 2*j + 1, sizeof(d1_original));\
                \
                word64 d0 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, d0_original);\
                word64 d1 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, d1_original)
#else
        #define PREPARE_D0_D1(j) \
                word64 d0 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, data[i+2*j+0]);\
                word64 d1 = ConditionalByteReverse(LITTLE_ENDIAN_ORDER, data[i+2*j+1])
#endif

        #define INNER_LOOP_ITERATION(j) {\
                PREPARE_D0_D1(j);\
                AccumulateNH(nhA, d0+nhK[i+2*j+0], d1+nhK[i+2*j+1]);\
                if (T_128BitTag)\
                        AccumulateNH(nhB, d0+nhK[i+2*j+2], d1+nhK[i+2*j+3]);\
                }

Next coredump:

DH validation suite running...

signal BUS (invalid address alignment) in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line 399 in file "cryptlib.cpp"
  399           return t ? t->GetMaxWaitObjectCount() : 0;^M
(dbx) where
=>[1] CryptoPP::BufferedTransformation::GetMaxWaitObjectCount(this = 0x100f14a68), line 399 in "cryptlib.cpp"
  [2] CryptoPP::BufferedTransformation::ChannelPutModifiable(this = 0x100f14a68, channel = CLASS, inString = 0x1011661b0 "^B\x81\x81", length = 256U, blocking = true), line 1866 in "cryptlib.h"
  [3] CryptoPP::ByteQueueNode::TransferTo(this = 0x1011607a0, target = CLASS, transferMax = 18446744073709551615U, channel = CLASS), line 108 in "queue.cpp"
  [4] CryptoPP::ByteQueue::TransferTo2(this = 0xffffffff7fffba88, target = CLASS, transferBytes = 18446744073709551615U, channel = CLASS, blocking = true), line 349 in "queue.cpp"
  [5] CryptoPP::BufferedTransformation::TransferTo(this = 0xffffffff7fffba88, target = CLASS, transferMax = 18446744073709551615U, channel = CLASS), line 1640 in "cryptlib.h"
  [6] CryptoPP::DERGeneralEncoder::MessageEnd(this = 0xffffffff7fffba88), line 533 in "asn.cpp"
  [7] CryptoPP::DL_GroupParameters_IntegerBased::DEREncode(this = 0xffffffff7fffbf08, bt = CLASS), line 278 in "gfpcrypt.cpp"
  [8] CryptoPP::ASN1Object::BEREncode(this = 0xffffffff7fffbf08, bt = CLASS), line 2921 in "cryptlib.h"
  [9] CryptoPP::Test::SimpleKeyAgreementValidate(d = CLASS), line 204 in "validat2.cpp"
  [10] CryptoPP::Test::ValidateDH(), line 371 in "validat2.cpp"
  [11] CryptoPP::Test::ValidateAll(thorough = false), line 160 in "validat1.cpp"
  [12] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in "test.cpp"
  [13] main(argc = 2, argv = 0xffffffff7ffff308), line 406 in "test.cpp"
(dbx)


Jeffrey Walton

unread,
Apr 21, 2017, 2:32:54 PM4/21/17
to Anton Gorev, Crypto++ Users
Yeah, I'm kind of torn between feeling bad you have to do the extra
work and laughing at the compiler. We've seen some bizarre things,
like these unexplained compiler crashes [1] and function parameters
losing their const-ness and causing link errors [2,3].

Peter Gutmann once remarked when discussing his Cryptlib [4]:

<QUOTE>There's a historic reason for cryptlib's attempt to use gcc if at all
possible, which was that commercial vendors have traditionally shipped truly
ghastly C compilers (or, in Sun's case, a non-C compiler that pretended to be
a compiler ...).</QUOTE>

I guess we should probably incorporate the changes. If I open a bug
report, would you make a pull request?

Jeff

[1] https://www.cryptopp.com/wiki/Solaris_(Command_Line)#C.2B.2B03_and_C.2B.2B11
[2] https://github.com/weidai11/cryptopp/blob/master/integer.cpp#L81
[3] https://github.com/weidai11/cryptopp/blob/master/rijndael.cpp#L84
[4] http://cryptlib.mbsks.franken.narkive.com/PCehp90Q/use-cc-instead-of-gcc

Anton Gorev

unread,
Apr 21, 2017, 2:44:47 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
I guess we should probably incorporate the changes. If I open a bug
report, would you make a pull request?

Sure. But I am stuck with the last error:
 
DH validation suite running...


signal BUS
(invalid address alignment) in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line 399 in file "cryptlib.cpp"
 
399           return t ? t->GetMaxWaitObjectCount() : 0;^M

Jeffrey Walton

unread,
Apr 21, 2017, 2:59:48 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com

Can you try to make this change in config.h around line 200 (https://github.com/weidai11/cryptopp/blob/master/config.h#L205):

#if defined(_MSC_VER) || defined(__BORLANDC__)
    typedef unsigned __int64 word64;
    #define W64LIT(x) x##ui64
#elif (_LP64 || __LP64__) && !defined(SUNPRO_CC)
    typedef unsigned long word64;
    #define W64LIT(x) x##UL
#else
    typedef unsigned long long word64;
    #define W64LIT(x) x##ULL
#endif

That change occurred back in Crypto++ 5.6.4 or 5.6.5 to bring us in line with some Unix recommendations and best practices. It tested OK under Solaris 11 on i86 hardware; but I was unable to test on Solaris 9 or 10, and on SPARC or SPARC64 cpu's.

Jeff

Jeffrey Walton

unread,
Apr 21, 2017, 3:14:57 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com

For this one, maybe something like (https://github.com/weidai11/cryptopp/blob/master/cryptlib.cpp#L395):

unsigned int BufferedTransformation::GetMaxWaitObjectCount() const
{
    const BufferedTransformation *t = AttachedTransformation();
    unsigned int count = 0;
    if (t)
        count = t->GetMaxWaitObjectCount();
   
    return count;
}

If the sigbus is on the pointer, then I'm not sure what needs to be done. Maybe either (1) static_cast <BufferedTransformation *> or (2) drop the const-ness or make it volatile.

There's no handbooks for working around SunCC bugs. Nothing it too extreme.

Jeff

Anton Gorev

unread,
Apr 21, 2017, 3:17:18 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
Will do now. But is there really should be SUNPRO_CC (without double underscore) instead of __SUNPRO_CC.

Jeffrey Walton

unread,
Apr 21, 2017, 3:20:48 PM4/21/17
to Anton Gorev, Crypto++ Users
On Fri, Apr 21, 2017 at 3:17 PM, Anton Gorev <kvi...@gmail.com> wrote:
> Will do now. But is there really should be SUNPRO_CC (without double
> underscore) instead of __SUNPRO_CC.

As far as I know, SunCC uses the double underscore. You can dump the
macros it defines with `CC -E -xdumpmacros /dev/null`

Also see https://stackoverflow.com/questions/37715467/how-to-print-preprocessor-macros-under-sun-studio.

Anton Gorev

unread,
Apr 21, 2017, 4:40:39 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
Created pull request: https://github.com/weidai11/cryptopp/pull/402

Unfortunately I wasn't succeed to fix the last error. If you want to try, please send me a message to kvi...@gmail.com. I will try to set up some kind of tunnel.

Anton Gorev

unread,
Apr 21, 2017, 10:46:47 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
Other strange thing:

```
$ dbx ./cryptest.exe
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading cryptest.exe
Reading ld.so.1
Reading libnsl.so.1
Reading libsocket.so.1
Reading libCstd.so.1
Reading libCrun.so.1
Reading libm.so.2
Reading libc.so.1
(dbx) stop in cryptlib.cpp:398
dbx: "cryptlib" is not defined as a function or procedure in the scope `cryptest.exe`test.cpp`main`
dbx: see `help scope' for details
(dbx) stop at cryptlib.cpp:398
(2) stop at "cryptlib.cpp":398
(dbx) run v
...
DH validation suite running...

stopped in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line 398 in file "cryptlib.cpp"
  398           const BufferedTransformation *t = AttachedTransformation();^M
(dbx) step
stopped in CryptoPP::Filter::Flush at line 80 in file "filters.cpp"
   80           switch (m_continueAt)^M
(dbx) where
=>[1] CryptoPP::Filter::Flush(this = 0x100f14a68, hardFlush = true, propagation = 0, blocking = true), line 80 in "filters.cpp"
  [2] CryptoPP::BufferedTransformation::GetMaxWaitObjectCount(this = 0x100f14a68), line 398 in "cryptlib.cpp"
  [3] CryptoPP::BufferedTransformation::ChannelPutModifiable(this = 0x100f14a68, channel = CLASS, inString = 0x101168490 "^B\x81\x81", length = 256U, blocking = true), line 1866 in "cryptlib.h"
  [4] CryptoPP::ByteQueueNode::TransferTo(this = 0x101160750, target = CLASS, transferMax = 18446744073709551615U, channel = CLASS), line 108 in "queue.cpp"
  [5] CryptoPP::ByteQueue::TransferTo2(this = 0xffffffff7fffbbe8, target = CLASS, transferBytes = 18446744073709551615U, channel = CLASS, blocking = true), line 349 in "queue.cpp"
  [6] CryptoPP::BufferedTransformation::TransferTo(this = 0xffffffff7fffbbe8, target = CLASS, transferMax = 18446744073709551615U, channel = CLASS), line 1640 in "cryptlib.h"
  [7] CryptoPP::DERGeneralEncoder::MessageEnd(this = 0xffffffff7fffbbe8), line 533 in "asn.cpp"
  [8] CryptoPP::DL_GroupParameters_IntegerBased::DEREncode(this = 0xffffffff7fffc068, bt = CLASS), line 278 in "gfpcrypt.cpp"
  [9] CryptoPP::ASN1Object::BEREncode(this = 0xffffffff7fffc068, bt = CLASS), line 2921 in "cryptlib.h"
  [10] CryptoPP::Test::SimpleKeyAgreementValidate(d = CLASS), line 204 in "validat2.cpp"
  [11] CryptoPP::Test::ValidateDH(), line 371 in "validat2.cpp"
  [12] CryptoPP::Test::ValidateAll(thorough = false), line 160 in "validat1.cpp"
  [13] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in "test.cpp"
  [14] main(argc = 2, argv = 0xffffffff7ffff468), line 406 in "test.cpp"
(dbx) stop at cryptlib.cpp:399
(3) stop at "cryptlib.cpp":399
(dbx) cont
stopped in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line 399 in file "cryptlib.cpp"
  399           if (t)^M
(dbx) print t
dbx: internal error: /home/abuild/agorev/cryptopp/cryptopp-master/misc.h:51: bad token '\'

dbx: warning: Errors encountered while skimming "cryptlib.cpp" for macro definitions.
              See `help macro skimming-errors' for more explanation.

t = 0x1
(dbx)
```

Why I came into `CryptoPP::Filter::Flush` from `const BufferedTransformation *t = AttachedTransformation();`? And why `t` eventually has value `0x01`? It is nor `NULL` nor some unaligned address. It more seems like some corruption. But I am not sure if it is a consequence of using misaligned addresses.

Jeffrey Walton

unread,
Apr 21, 2017, 11:10:47 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com

Yeah, that one is unusual. Its probably another function, but DBX is reporting the wrong one.

Have you tried turning knobs with your compiler settings? I'm not convinced Cmake provides good settings out of the box.

-xmemalign looks like it may have some effect given the workarounds; see https://docs.oracle.com/cd/E19205-01/819-5265/bjavc/index.html. Be sure Cmake is not adjusting it to something that's not compatible.

There's also a note in one of the old GCC manuals about using 8-byte alignment for SPARC; see https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Type-Attributes.html. However, its not present in the current manual.

Jeff

Jeffrey Walton

unread,
Apr 21, 2017, 11:36:35 PM4/21/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com


On Friday, April 21, 2017 at 11:10:47 PM UTC-4, Jeffrey Walton wrote:

On Friday, April 21, 2017 at 10:46:47 PM UTC-4, Anton Gorev wrote:
Other strange thing:...
...
DH validation suite running...

stopped in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line 398 in file "cryptlib.cpp"
  398           const BufferedTransformation *t = AttachedTransformation();^M
(dbx) step
stopped in CryptoPP::Filter::Flush at line 80 in file "filters.cpp"
   80           switch (m_continueAt)^M
(dbx) where
=>[1] CryptoPP::Filter::Flush(this = 0x100f14a68, hardFlush = true, propagation = 0, blocking = true), line 80 in "filters.cpp"
  [2] CryptoPP::BufferedTransformation::GetMaxWaitObjectCount(this = 0x100f14a68), line 398 in "cryptlib.cpp"
  [3] CryptoPP::BufferedTransformation::ChannelPutModifiable(this = 0x100f14a68, channel = CLASS, inString = 0x101168490 "^B\x81\x81", length = 256U, blocking = true), line 1866 in "cryptlib.h"
...

Why I came into `CryptoPP::Filter::Flush` from `const BufferedTransformation *t = AttachedTransformation();`? And why `t` eventually has value `0x01`? It is nor `NULL` nor some unaligned address. It more seems like some corruption. But I am not sure if it is a consequence of using misaligned addresses.

Yeah, that one is unusual. Its probably another function, but DBX is reporting the wrong one.

Have you tried turning knobs with your compiler settings? I'm not convinced Cmake provides good settings out of the box.

-xmemalign looks like it may have some effect given the workarounds; see https://docs.oracle.com/cd/E19205-01/819-5265/bjavc/index.html. Be sure Cmake is not adjusting it to something that's not compatible.

There's also a note in one of the old GCC manuals about using 8-byte alignment for SPARC; see https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Type-Attributes.html. However, its not present in the current manual.

By the way, here are the flags Crypto++ uses out of the box before we started changing things at Crypto++ 5.6.3. I consider it the gold standard, and use it as a reference point. But this on an Intel based Proliant DL380 G5, and not a SPARC machine.

$ git checkout CRYPTOPP_5_6_2
HEAD is now at 789f81f... prepare for 5.6.2 release

$ CXX=/opt/solstudio12.2/bin/CC gmake
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c shark.cpp
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c zinflate.cpp
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c gf2n.cpp
...

You can duplicate the compile above on Master once you get the "gold standard" options. The next step would be:

$ git checkout master -f
Previous HEAD position was 789f81f... prepare for 5.6.2 release
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

$ CXX=/opt/solstudio12.2/bin/CC gmake CXXFLAGS="-DNDEBUG -O -g0 -native -template=no%extdef -m64"
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c cryptlib.cpp
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c cpu.cpp
/opt/solstudio12.2/bin/CC -DNDEBUG -O -g0 -native -template=no%extdef -m64 -c integer.cpp

I'm wagering Cmake is missing a few of the flags, like "-template=no%extdef" and "-m64".

Jeff

Anton Gorev

unread,
Apr 24, 2017, 1:16:44 PM4/24/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
Yes, -xmemalign=4i fixed all errors I saw before. But it isn't so cloudless. Next bugreport attached.

Also maybe output below will be useful:

RSA validation suite running...

signal SEGV (no mapping at the fault address) in _memcpy at 0xffffffff7e200678
0xffffffff7e200678: _memcpy+0x0044:     ldx      [%o1 + %o0], %o3
Current function is CryptoPP::CopyWords
   28                   memcpy(r, a, n*WORD_SIZE);^M
(dbx) print r
dbx: internal error: /home/abuild/agorev/cryptopp/cryptopp-master.2/misc.h:51: bad token '\'

dbx: warning: Errors encountered while skimming "integer.cpp" for macro definitions.
              See `help macro skimming-errors' for more explanation.

r = 0x1011a3c40
(dbx) print a
a = (nil)
(dbx) list -
   18           for (size_t i=0; i<n; i++)^M
   19                   r[i] = a;^M
   20   }^M
   21   ^M
   22   inline void CopyWords(word *r, const word *a, size_t n)^M
   23   {^M
   24           if (r != a)^M
   25   #if CRYPTOPP_MSC_VERSION^M
   26                   memcpy_s(r, n*WORD_SIZE, a, n*WORD_SIZE);^M
   27   #else^M
(dbx) up
Current function is CryptoPP::Integer::Integer
 2972           CopyWords(reg, t.reg, reg.size());^M
(dbx) print t
t = {
    reg  = {
        m_alloc = {
/* try using "print -r" to see any inherited members */
        }
        m_mark  = 1025U
        m_size  = 0
        m_ptr   = (nil)
    }
    sign = POSITIVE
}
(dbx) list -
 2962   ^M
 2963   Integer::Integer()^M
 2964           : reg(2), sign(POSITIVE)^M
 2965   {^M
 2966           reg[0] = reg[1] = 0;^M
 2967   }^M
 2968   ^M
 2969   Integer::Integer(const Integer& t)^M
 2970           : reg(RoundupSize(t.WordCount())), sign(t.sign)^M
 2971   {^M
(dbx) up
Current function is CryptoPP::RSAFunction::PreimageBound
   47           Integer PreimageBound() const {return m_n;}^M
(dbx) print m_n
dbx: internal error: /home/abuild/agorev/cryptopp/cryptopp-master.2/misc.h:51: bad token '\'

dbx: warning: Errors encountered while skimming "rsa.cpp" for macro definitions.
              See `help macro skimming-errors' for more explanation.

m_n = {
    reg  = {
        m_alloc = {
/* try using "print -r" to see any inherited members */
        }
        m_mark  = 1025U
        m_size  = 0
        m_ptr   = (nil)
    }
    sign = POSITIVE
}
(dbx)

P.S. Changes in the CMakeLists.txt:

$ diff -u ../../cryptopp-master/CMakeLists.txt ../CMakeLists.txt
--- ../../cryptopp-master/CMakeLists.txt        Tue Apr 18 07:57:38 2017
+++ ../CMakeLists.txt   Mon Apr 24 17:21:07 2017
@@ -205,6 +205,8 @@

 # Solaris specific
 if ((NOT CRYPTOPP_CROSS_COMPILE) AND "${UNAME_SYSTEM}" STREQUAL "SunOS")
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xmemalign=4i")
+
        if (NOT DISABLE_NATIVE_ARCH)
                # SunCC needs -native
                if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "SunPro")
$

Do I need to prepare pull request for this change? And should I revert commit with workaround that we merged before (as it is not necessary because -xmemalign=4i fixes original bugs)?
report.txt

Andrew Marlow

unread,
Apr 25, 2017, 7:37:36 AM4/25/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
I admire Anton's perserverance with the crappy Solaris 10 compiler. I have had to work around several bugs but I gave up when it came to the bugs that nobble cryptopp. I am pleased to see that the compiler on Solaris 11 does not have these issues (it has other issues instead).


On Monday, 24 April 2017 18:16:44 UTC+1, Anton Gorev wrote:
Yes, -xmemalign=4i fixed all errors I saw before. But it isn't so cloudless. Next bugreport attached.
[snip]

Jeffrey Walton

unread,
Apr 25, 2017, 11:04:03 PM4/25/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com


On Monday, April 24, 2017 at 1:16:44 PM UTC-4, Anton Gorev wrote:
Yes, -xmemalign=4i fixed all errors I saw before.

OK, thanks.

-xmemalign=4i appears to be valid for SPARC, and not i.86pc.
 
But it isn't so cloudless. Next bugreport attached.

Also maybe output below will be useful:

RSA validation suite running...

signal SEGV (no mapping at the fault address) in _memcpy at 0xffffffff7e200678
0xffffffff7e200678: _memcpy+0x0044:     ldx      [%o1 + %o0], %o3
Current function is CryptoPP::CopyWords
   28                   memcpy(r, a, n*WORD_SIZE);^M
(dbx) print r
dbx: internal error: /home/abuild/agorev/cryptopp/cryptopp-master.2/misc.h:51: bad token '\'

dbx: warning: Errors encountered while skimming "integer.cpp" for macro definitions.
              See `help macro skimming-errors' for more explanation.

Nothing is jumping out at me for the RSA gear. For completeness, did you perform a 'make distclean' to ensure everything got rebuilt using the same compiler flags?

Maybe a debug build will help isolate the issue. The asserts may alert to something fishy. To perform a debug build:

make distclean
CXX=/opt/.../bin/CC CXXFLAGS="-DDEBUG -g2 -xO0" gmake -j 4
 
P.S. Changes in the CMakeLists.txt:

$ diff -u ../../cryptopp-master/CMakeLists.txt ../CMakeLists.txt
--- ../../cryptopp-master/CMakeLists.txt        Tue Apr 18 07:57:38 2017
+++ ../CMakeLists.txt   Mon Apr 24 17:21:07 2017
@@ -205,6 +205,8 @@

 # Solaris specific
 if ((NOT CRYPTOPP_CROSS_COMPILE) AND "${UNAME_SYSTEM}" STREQUAL "SunOS")
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xmemalign=4i")
+
        if (NOT DISABLE_NATIVE_ARCH)
                # SunCC needs -native
                if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "SunPro")
$


I think that change casts a wider net than needed. -xmemalign=4i should be limited to SPARC64, and maybe SPARC. It should not apply to the Intel machines. Applying it to Intel machines will cause a warning.
 
Do I need to prepare pull request for this change? And should I revert commit with workaround that we merged before (as it is not necessary because -xmemalign=4i fixes original bugs)?

Yeah, we may as well back out the former change, and go with the -xmemalign=4i. A new PR will be fine.

Jeff

Anton Gorev

unread,
Apr 26, 2017, 8:04:46 AM4/26/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
This appears to be a bug in DBX.

The main problem is not with the backslash. The main problem is memcpy from NULL address:

RSA validation suite running...


signal SEGV
(no mapping at the fault address) in _memcpy at 0xffffffff7e200678
0xffffffff7e200678: _memcpy+0x0044:     ldx      [%o1 + %o0], %o3
Current function is CryptoPP::CopyWords
   
28                   memcpy(r, a, n*WORD_SIZE);^M
(dbx) print r
...

(dbx) print a
a = (nil)

This NULL address comes from some field m_n:

Current function is CryptoPP::RSAFunction::PreimageBound
   
47           Integer PreimageBound() const {return m_n;}^M
(dbx) print m_n
dbx: internal error: /home/abuild/agorev/cryptopp/cryptopp-master.2/misc.h:51: bad token '\'

dbx: warning: Errors encountered while skimming "rsa.cpp" for macro definitions.
             See `help macro skimming-errors' for more explanation.

m_n = {
   reg  = {
       m_alloc = {
/* try using "print -r" to see any inherited members */
       }
       m_mark  = 1025U
       m_size  = 0
       m_ptr   = (nil)
   }
   sign = POSITIVE
}
(dbx)

But I don't know yet why it is so.

Nothing is jumping out at me for the RSA gear. For completeness, did you perform a 'make distclean' to ensure everything got rebuilt using the same compiler flags?

Yes, kind of. After changing CMakeLists.txt I just removed all Makefiles and then regenerated them again (see attached log in my previous email):

$ vim ../CMakeLists.txt
$ rm -rf ./*
$ cmake -DCMAKE_BUILD_TYPE=Debug ..

As I understand technically it is a build from scratch.

I think that change casts a wider net than needed. -xmemalign=4i should be limited to SPARC64, and maybe SPARC. It should not apply to the Intel machines. Applying it to Intel machines will cause a warning.
...
Yeah, we may as well back out the former change, and go with the -xmemalign=4i. A new PR will be fine.

Ok. Will try to separate them, and will make PR. 

Anton Gorev

unread,
Apr 27, 2017, 3:49:37 PM4/27/17
to Crypto++ Users, kvi...@gmail.com, nolo...@gmail.com
Submitted pull request: https://github.com/weidai11/cryptopp/pull/405

Problem with RSA still unresolved.
Reply all
Reply to author
Forward
0 new messages