Commit Graph

346 Commits

Author SHA1 Message Date
Jeffrey Walton
c51f0ecbfd
Make config.h more Autoconf friendly (GH #835, PR #836) 2019-05-17 15:18:17 -04:00
Jeffrey Walton
edc0952b25
Whitespace check-in 2019-05-16 02:47:44 -04:00
Jeffrey Walton
38a4bb55cf
Post-release version increment 2019-04-29 00:12:18 -04:00
Jeffrey Walton
39418a8512
Use PowerPC unaligned loads and stores with Power8 (GH #825, PR #826)
Use PowerPC unaligned loads and stores with Power8. Formerly we were using Power7 as the floor because the IBM POWER Architecture manuals said unaligned loads and stores were available. However, some compilers generate bad code for unaligned loads and stores using `-march=power7`, so bump to a known good.
2019-04-27 20:35:01 -04:00
Jeffrey Walton
6138b8a127
Post-release version increment
Also see https://www.cryptopp.com/wiki/Release_Process#Increment_version_numbers
2019-02-23 14:03:49 -05:00
Fabrice Fontaine
a809dbdbc4 AVX2 depends on GCC 4.9 (PR #809) 2019-02-21 18:34:32 -05:00
Jeffrey Walton
bdd5f470ce
Add additional comments 2019-01-16 17:56:03 -05:00
Jeffrey Walton
f6c9a8e183
Disable CRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE by default 2019-01-16 17:27:36 -05:00
Jeffrey Walton
2718731bac
Add additional comments 2019-01-16 17:26:30 -05:00
Jeffrey Walton
e86a6b32eb
Add CRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE (GH #782)
I also suspect this has something to do with GH #768 and several others
2019-01-16 17:06:39 -05:00
Jeffrey Walton
0538af5173
Update comments 2019-01-05 09:54:42 -05:00
Jeffrey Walton
e6ceab85ff
Fix ARM64 compile with MSVC compiler (GH #776) 2019-01-04 16:55:42 -05:00
Jeffrey Walton
b3a473878c
Post-release version increment
Also see https://www.cryptopp.com/wiki/Release_Process#Increment_version_numbers
2018-12-28 08:25:44 -05:00
Jeffrey Walton
5e48cfd0c9
Prepare for Crypto++ 8.0 release 2018-12-27 18:30:38 -05:00
Jeffrey Walton
20f4d22055
Fix compile on 32-bit MIPS (GH #761)
Testing on a ci20 dev-board with Debian 5 and GCC 4
2018-12-13 04:21:38 -05:00
Jeffrey Walton
b5cf4ff307
Remove unneeded TYPE_OF_SOCKLEN_T define.
This should have been removed at GH #208, PR #703.
2018-12-12 10:16:15 -05:00
Jeffrey Walton
131397ba5a
Documented Donna namespace for curve25519 2018-12-12 10:14:27 -05:00
Jeffrey Walton
0aa217b91c
Update comments in config.h
Some comments in config.h were old. Time for a refresh.
Switch from CRYPTOPP_BOOL_ARM64 to CRYPTOPP_BOOL_ARMV8. Aarch32 is ARMv8, and that's the important part.
2018-12-09 10:24:55 -05:00
Jeffrey Walton
1c88fd6f59
Add search for test vectors and test data (GH #760) 2018-12-07 12:25:52 -05:00
Jeffrey Walton
8769302a8b
Add CRYPTOPP_DISABLE_MIXED_ASM define and feature test (GH #756, PR #757) 2018-12-05 13:22:10 -05:00
Jeffrey Walton
3e909c13d4
Add IBM XLC init priority support 2018-11-30 08:23:35 -05:00
Jeffrey Walton
3db34abf2f
Add Power9 Random Number Generator support (GH #747, PR #748) 2018-11-27 02:54:26 -05:00
Jeffrey Walton
3efc7752e4
Remove __IBM_ATTRIBUTES
I believe this is C++ attributes, and not GCC attributes
2018-11-22 20:47:35 -05:00
Jeffrey Walton
3ba4dc6052
Use __IBMCPP_NULLPTR from IBM compiler manual 2018-11-22 19:44:41 -05:00
Jeffrey Walton
652d0e42bf
Use __IBM_ATTRIBUTES and __IBM_ALIGNOF__ from IBM compiler manual 2018-11-22 19:18:08 -05:00
Jeffrey Walton
41639e5ec6
Fix ARM A-32 and Aarch64 feature tests (PR #737) 2018-11-12 14:59:36 -05:00
Jeffrey Walton
a0f3744ed4
Use __cpp_lib_uncaught_exceptions for CRYPTOPP_CXX17_EXCEPTIONS
Also see https://bugs.llvm.org/show_bug.cgi?id=39631
2018-11-12 03:37:32 -05:00
Jeffrey Walton
896225069d
Rename files with dashes to underscores (GH #736)
Also see https://groups.google.com/forum/#!topic/cryptopp-users/HBz-6gZZFOA on the mailing list
2018-11-10 08:00:14 -05:00
Jeffrey Walton
f839e5093c
Enable SSE2 intrinsics for SunCC 2018-11-09 20:35:27 -05:00
Jeffrey Walton
d9011f07d2
Add ChaCha AVX2 implementation (GH #735) 2018-11-08 16:20:31 -05:00
Jeffrey Walton
c601213ce1
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools
Autotools sets up its config.h file with the '#define XXX 0' or '#define XXX 1' pattern. This check-in makes the sources Autotools aware. We need to verify CMake does the same
2018-10-28 04:24:22 -04:00
Jeffrey Walton
e185cbd803 Revert "Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools"
This reverts commit 04306f86ac. It broke GCC 4.8 on PowerPC.
2018-10-28 03:42:50 -04:00
Jeffrey Walton
1cf4f98df8
Update comments 2018-10-27 12:46:01 -04:00
Jeffrey Walton
04306f86ac
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools 2018-10-27 07:30:15 -04:00
Jeffrey Walton
d230999b40
Fix ChaCha compile on ARM and MIPS 2018-10-24 01:11:45 -04:00
Jeffrey Walton
1de4f39f86
Add CRYPTOPP_DISABLE_ASM for Google Native Client (GH #719) 2018-10-20 06:31:51 -04:00
Jeffrey Walton
1bbbfb6b75
Fix partial specializations for FixedSizeAllocatorWithCleanup (PR #710)
Commit afbd3e60f6 effectively treated a symptom and not the underlying problem. The problem was linkers on 32-bit systems ignore CRYPTOPP_ALIGN_DAT(16) passed down by the compiler and align to 8-bytes or less. We have to use Wei's original code in some places. It is not a bad thing, but the bit fiddling is something we would like to contain a little more by depending more on language or platform features.

This commit keeps the original changes which improve partial specializations; but fixes 32-bit linker behavior by effectively reverting afbd3e60f6 and e054d36dc8. We also add more comments so the next person has understands why things are done they way they are.
2018-08-24 08:13:23 -04:00
Jeffrey Walton
e054d36dc8
Add partial specializations for FixedSizeAllocatorWithCleanup
This allocator still has some demons buried inside due to the bit fiddling. This commit should isolate the demons to aligned stack allocations when an alignment facility from the platform or OS is not available. That is, we use CRYPTOPP_ALIGN_DATA when we can because it is most reliable.
We can tell when things have gone sideways using Debug builds. The CRYPTOPP_ASSERT(m_allocated) will fire on destruction because the flag gets overwritten.
2018-08-23 07:08:34 -04:00
Jeffrey Walton
31ebabeb1e
Cleanup headers in vmac.cpp 2018-08-18 07:21:42 -04:00
Jeffrey Walton
06cf2ede9e
Disable ASM and intrinsics for ARM big-endian
We don't have a test rig to test things. Based on our experience with Power8 and BE/LE, there will be trouble
2018-08-18 04:31:49 -04:00
Jeffrey Walton
f2171cbe2f
Remove Thread and Socket classes (GH #208, PR #703)
Also see https://groups.google.com/forum/#!topic/cryptopp-users/5btwLoxXXD4.
2018-08-17 23:55:39 -04:00
Jeffrey Walton
9f2d65409a
Add POWER8 GCM mode (GH #698)
Commit 3ed38e42f6 added the POWER8 infrastructure for GCM mode. It also added GCM_SetKeyWithoutResync_VMULL, GCM_Multiply_VMULL and GCM_Reduce_VMULL. This commit adds the remainder, which includes GCM_AuthenticateBlocks_VMULL.
GCC is OK on Linux (ppc64-le) and AIX (ppc64-be). We may need some touchups for XLC compiler
2018-08-09 23:28:49 -04:00
Jeffrey Walton
3ed38e42f6
Add POWER8 GCM mode (GH #698)
GCM_SetKeyWithoutResync_VMULL, GCM_Multiply_VMULL and GCM_Reduce_VMULL work as expected on Linux (ppc64-le) and AIX (ppc64-be). We are still working on GCM_AuthenticateBlocks_VMULL.
2018-08-09 08:09:13 -04:00
Jeffrey Walton
9ff731824b
Prepare for POWER8 carryless multiplies using vpmsum 2018-08-06 05:40:38 -04:00
Jeffrey Walton
f67efe75c9
Remove POWER5 define. We don't use it
The 64-bit 'vector long long' is POWER8
2018-08-03 14:17:13 -04:00
Jeffrey Walton
00135f5b5b
Add CRYPTOPP_ALIGN_DATA for IBM XL C/C++ 2018-07-30 20:32:45 -04:00
Jeffrey Walton
d952cb99c2
Update comments 2018-07-30 12:42:53 -04:00
Jeffrey Walton
973fbf0e2f
Fix FixedSizeAllocatorWithCleanup assert on Solaris 2018-07-30 11:27:50 -04:00
Jeffrey Walton
5ea410c1d3
Update comments 2018-07-27 01:57:33 -04:00
Jeffrey Walton
f165d1822d
More SunStudio/SunCC workarounds 2018-07-27 01:51:27 -04:00