Crypto++ 5.5.2 wasn't successfully ported to Sun Studio 64-bit CC due to a large number of compiler bugs. It looks like some of those bugs have been fixed in the latest patch, and I managed to work around the remaining ones today. The current code in SVN (revision 432) was successfully compiled with the following version of compiler, but the resulting executable runs slower compared to GCC.
CC: Sun C++ 5.9 SunOS_i386 Patch 124864-09 2008/12/16 If you want to use your own makefile, make sure to add -template=no%extdef to the compiler flags. -------------------------------------------------- From: "Denis Podluzhny" <[email protected]> Sent: Thursday, February 12, 2009 9:38 AM To: "Crypto++ Users" <[email protected]> Subject: Sun Studio CC compilation problem on x64 > > Hi. > > I'm trying to migrate from gcc4.0.4 under Solaris on native Sun Studio > 12 cpp compiler. > And got problem with building of cryptopp 5.5.2 > > It builds for 32 bit version [CC -c -mt -O2 -m32 -DNDEBUG -native > integer.cpp] - with bunch of warnings, but still builds. But not > builds for 64 bit version. > > As CC listed as supported compiler I'm looking for advise ) > > Output is > -bash-3.00$ CC -c -mt -O2 -m64 -DNDEBUG -native integer.cpp > "secblock.h", line 266: Warning: attribute aligned is unsupported and > will be skipped.. > "secblock.h", line 277: Where: While specializing > "CryptoPP::FixedSizeAllocatorWithCleanup<unsigned, 16, > CryptoPP::NullAllocator<unsigned>, 0>". > "secblock.h", line 277: Where: Specialized in > CryptoPP::SecBlock<unsigned, > CryptoPP::FixedSizeAllocatorWithCleanup<unsigned, 16, > CryptoPP::NullAllocator<unsigned>, 0>>. > "secblock.h", line 456: Where: Specialized in > CryptoPP::FixedSizeSecBlock<unsigned, 16, > CryptoPP::FixedSizeAllocatorWithCleanup<unsigned, 16, > CryptoPP::NullAllocator<unsigned>, 0>>. > "iterhash.h", line 75: Where: Specialized in > CryptoPP::IteratedHash<unsigned, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64, > CryptoPP::HashTransformation>. > "simple.h", line 25: Where: Specialized in > CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64, > CryptoPP::HashTransformation>, CryptoPP::SHA1>. > "simple.h", line 17: Where: Specialized in > CryptoPP::ClonableImpl<CryptoPP::SHA1, > CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64, > CryptoPP::HashTransformation>, CryptoPP::SHA1>>. > "iterhash.h", line 82: Where: Specialized in > CryptoPP::IteratedHashWithStaticTransform<unsigned, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64, 20, CryptoPP::SHA1, > 0>. > "sha.h", line 10: Where: Specialized in non-template code. > "secblock.h", line 266: Warning: attribute aligned is unsupported and > will be skipped.. > "secblock.h", line 277: Where: While specializing > "CryptoPP::FixedSizeAllocatorWithCleanup<unsigned long long, 16, > CryptoPP::NullAllocator<unsigned long long>, 0>". > "secblock.h", line 277: Where: Specialized in > CryptoPP::SecBlock<unsigned long long, > CryptoPP::FixedSizeAllocatorWithCleanup<unsigned long long, 16, > CryptoPP::NullAllocator<unsigned long long>, 0>>. > "secblock.h", line 456: Where: Specialized in > CryptoPP::FixedSizeSecBlock<unsigned long long, 16, > CryptoPP::FixedSizeAllocatorWithCleanup<unsigned long long, 16, > CryptoPP::NullAllocator<unsigned long long>, 0>>. > "iterhash.h", line 75: Where: Specialized in > CryptoPP::IteratedHash<unsigned long long, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128, > CryptoPP::HashTransformation>. > "simple.h", line 25: Where: Specialized in > CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned long long, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128, > CryptoPP::HashTransformation>, CryptoPP::SHA512>. > "simple.h", line 17: Where: Specialized in > CryptoPP::ClonableImpl<CryptoPP::SHA512, > CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned long long, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128, > CryptoPP::HashTransformation>, CryptoPP::SHA512>>. > "iterhash.h", line 82: Where: Specialized in > CryptoPP::IteratedHashWithStaticTransform<unsigned long long, > CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 128, 64, > CryptoPP::SHA512, 0>. > "sha.h", line 41: Where: Specialized in non-template code. > "integer.cpp", line 287: Warning: Types cannot be declared in > anonymous union. > "integer.cpp", line 827: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 828: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1119: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1119: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1124: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1124: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1129: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1129: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1134: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1134: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1139: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1139: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1144: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1144: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1149: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1149: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1154: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1154: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1159: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1159: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1195: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1200: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1205: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1214: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1220: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1220: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1225: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1225: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1230: Warning: The variable p0 has not yet been > assigned a value. > "integer.cpp", line 1230: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1235: Warning: The variable p1 has not yet been > assigned a value. > "integer.cpp", line 1252: Warning: The variable p0 has not yet been > assigned a value. > 35 Warning(s) detected. > Assembler: integer.cpp > "/tmp/HAAhza4AJ", line 2408 : Syntax error > Near line: " mulq %ebx " > "/tmp/HAAhza4AJ", line 2422 : Syntax error > Near line: " addq %eax, %ecx; adcq $0, %edx; " > "/tmp/HAAhza4AJ", line 2422 : Syntax error > Near line: " addq %eax, %ecx; adcq $0, %edx; " > "/tmp/HAAhza4AJ", line 2497 : Syntax error > Near line: " mulq %ecx " > "/tmp/HAAhza4AJ", line 2536 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2536 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2536 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2536 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2571 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2571 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2571 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2571 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2608 : Syntax error > Near line: " mulq %ecx " > "/tmp/HAAhza4AJ", line 2624 : Syntax error > Near line: " addq %eax, %edx; adcq %ecx, %esi; " > "/tmp/HAAhza4AJ", line 2624 : Syntax error > Near line: " addq %eax, %edx; adcq %ecx, %esi; " > "/tmp/HAAhza4AJ", line 2684 : Syntax error > Near line: " mulq %ecx " > "/tmp/HAAhza4AJ", line 2723 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2723 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2723 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2723 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2758 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2758 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2758 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2758 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2803 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2803 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2803 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2803 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2840 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2840 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > "/tmp/HAAhza4AJ", line 2840 : Syntax error > Near line: " mulq %ecx; addq %eax, %edx; adcq %edx, %esi; > adcq $0, %edi; " > Too many errors - Goodbye > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
