Commit Graph

235 Commits (ac513c06f8c80b8158d7921a93d758f4ba66afaf)

Author SHA1 Message Date
Jeffrey Walton 303870e45e Sync with Upstream master 2017-08-02 22:10:20 -04:00
Jeffrey Walton 77d2e4eaf5
Add AppVeyor rule to makefile
This should sidestep some problems we are experiencing with AppVeyor during x64 builds. Specifically, the missing VCUpgrade.exe and the poor job it does when upgrading our project for the platform\'s tools.
This recipe takes cryptlib.vcxproj and cryptest.vcxproj, and copies it into TestScripts. This ensures TestScripts always has the latest Visual Studio project files. Then, the recipe changes PlatformToolset to the undocumented $\(DefaultPlatformToolset\). Finally, our AppVeyor test script will copy TestScripts/*.vcxproj into PWD before executing MSbuild.
Also see http://stackoverflow.com/questions/43423761/cant-perform-64-bit-testing-under-appveyor, http://stackoverflow.com/questions/45452145/how-to-set-platformtoolset-property-from-msbuild and  http://stackoverflow.com/questions/43441273/how-to-run-vcupgrade-before-appveyor-build
2017-08-02 22:01:16 -04:00
Jeffrey Walton 74ef70683d
Discard Clang error messages 2017-08-01 08:58:19 -04:00
Jeffrey Walton 1356456f05
Finish AESNI cut-in
Remove specialized MMX and ISSE support. SSE2 is now the floor
2017-08-01 01:20:30 -04:00
Jeffrey Walton 142fe88ae1
Initial AES cleanup after cross-platofrm testing 2017-07-31 23:17:18 -04:00
Jeffrey Walton 87e7b85224
Initial Rijndael cut-in 2017-07-31 20:58:27 -04:00
Jeffrey Walton 2a17350d64
Sync with Upstream master 2017-07-31 19:32:43 -04:00
Jeffrey Walton 475232abff Sync with Upstream master 2017-07-31 19:28:57 -04:00
Jeffrey Walton 2171a3a379
Update DLL_SRCS list
Also see http://groups.google.com/forum/#!topic/cryptopp-users/Q8_6mSS5ZSw on the mailing list
2017-07-31 19:04:48 -04:00
Jeffrey Walton 2b9319cd8a
Fix Aarch64 build. Cleanup Windows build 2017-07-31 03:08:02 -04:00
Jeffrey Walton a8462328f4
Fix Aarch64 build. Cleanup Windows build 2017-07-31 03:07:32 -04:00
Jeffrey Walton 1fdd08d690
Fix ARM build under Windows Phone 2017-07-31 02:09:15 -04:00
Jeffrey Walton a495018af2
Fix GCM under SSSE3 and CLMUL 2017-07-31 00:40:03 -04:00
Jeffrey Walton 5e9e228727
Fix ARIA under SSSE3 2017-07-30 22:55:50 -04:00
Jeffrey Walton 6169b5d4d6
Cleaned up ARM related defines, like CRYPTOPP_ARM_NEON_AVAILABLE
We only need to base it on the compiler in config.h. config.h activates the code path guarded by HasNEON(). The source file that actially provides the NEON implementation will be compiled with -fpu=neon or -march=armv8-a.
Since we are providing the specialized implementation in a sequestered source file (and not a header file), we can probably avoid the defines like CRYPTOPP_ARM_NEON_AVAILABLE altogether.
2017-07-30 19:14:47 -04:00
Jeffrey Walton b4f6882237
Fixed ARMv7a and NEON detection. Initial cut-in of GCM 2017-07-30 03:16:58 -04:00
Jeffrey Walton 4b51eadc73
Removed stray XXX in blake2-simd.cpp 2017-07-30 00:20:20 -04:00
Jeffrey Walton 8338d90c10
Add ARIA, BLAKE2 and SHA support for ARMv7, ARMv8 and Intel 2017-07-29 23:40:56 -04:00
Jeffrey Walton d5a6d8f81b
Cut-in SHA for Intel and ARMv8a 2017-07-29 14:18:30 -04:00
Jeffrey Walton 3e7496803e
Move CRC32 probe code from cpu.cpp to crc-simd.cpp 2017-07-29 03:49:48 -04:00
Jeffrey Walton fe9e21ddd7
Cut-in CRC test for SSE4.2 and ARMv8a
Also see https://groups.google.com/forum/#!topic/cryptopp-users/-1fZCx8JSRE
2017-07-29 00:24:07 -04:00
Jeffrey Walton 0df38c3506
Fix build timeout due to tracking vars under UBsan
Also see https://stackoverflow.com/q/2954473/608639 and https://stackoverflow.com/q/708807/608639
2017-05-28 17:00:09 -04:00
Jeffrey Walton 814de0f0c7
Use "relative" option for gcov recipe 2017-05-27 07:18:48 -04:00
Jeffrey Walton a139d6a846
Cleanup gcov artifacts in clean rule 2017-05-27 07:02:44 -04:00
Jeffrey Walton cab2b5a181
Reduce optimizations for code coverage recipes 2017-05-27 05:16:09 -04:00
Jeffrey Walton 40395c0150
Attempt to add Code Coverage report (Take 3)
This should be interesting...
2017-05-27 03:47:50 -04:00
Jeffrey Walton 345b4e49e2
Attempt to add Code Coverage report (Take 2)
This should be interesting...
2017-05-27 03:42:50 -04:00
Jeffrey Walton 84e6961457
Updated makefile trim and convert rules
Whitespace check-in
2017-05-26 10:08:44 -04:00
Jeffrey Walton 0c4b80c995
Remove unaligned access safety with Asan and UBsan
NO_UNALIGNED_DATA_ACCESS is now the norm. Those who allow unaligned data accesses are the special case.
2017-05-21 20:45:08 -04:00
Bernhard M. Wiedemann 033fed8c92 have constant link order (#426)
Make builds reproducible
See https://reproducible-builds.org/ for why this is good.

Without this patch g++ would order functions in libcryptopp.so.5.6.5
depending on random order of files in the build system's filesystem.
2017-05-19 18:34:08 -04:00
Jeffrey Walton 1b1c32d7cf
Build RDRAND for all platofrms (Issue 419, PR 424)
We have not been able to determine a reliable way to detect cpu's and platforms with Cmake. We are side stepping the Cmake problem by building rdrand.cpp all the time. If its not avilable for a cpu or platform, then RDRAND or RDSEED throw an exception.
2017-05-17 16:21:20 -04:00
Jeffrey Walton ae09662f43
Update Makefile to trim data files 2017-05-15 22:53:44 -04:00
Jeffrey Walton 32ab4af5ff
Add Threefish to project files
Whitespace check-in
2017-05-14 15:27:50 -04:00
Jeffrey Walton b40d4d9180
Add CRYPTOPP_COVERAGE for Asan and UBsan builds 2017-05-11 01:35:32 -04:00
Jeffrey Walton c62e1ade6e
Add Makefile recipe for Valgrind builds 2017-05-06 22:54:49 -04:00
Jeffrey Walton c1377b2955
Add additional self tests under debug builds 2017-05-05 17:21:08 -04:00
Jeffrey Walton 9614307ab7
Add CRYPTOPP_COVERAGE define for 'make coverage' recipe 2017-05-04 03:01:07 -04:00
Jeffrey Walton e2f5da337e
Add mapfile to allow additional capability bits
Also see http://www.oracle.com/technetwork/server-storage/solaris/hwcap-modification-139536.html
2017-04-23 12:11:08 -04:00
Jeffrey Walton 89176e51cd
Add safety for SSSE4.1 and SSE4.2 intructions
They are giving ARIA and BLAKE2 trouble. It looks like SSE4  support appeared in the GCC compiler around 4.1 or 4.2. It looks like SHA support appeared in the GNU assembler around 2.18
2017-04-23 06:37:03 -04:00
Jeffrey Walton 7562e38ad6
Add safety for SHA intructions
It looks like SHA support appeared in the GCC compiler around 4.8 or 4.9. It looks like SHA support appeared in the GNU assembler around 2.23
2017-04-22 19:46:13 -04:00
Jeffrey Walton cd65ce873a
Add -xmemalign=4i for Sun SPARC (Issue 403) 2017-04-22 01:15:17 -04:00
Jeffrey Walton b784852998
Add no-asm target to ease testing of -DCRYPTOPP_DISABLE_ASM
This is intended to be used on Travis CI
2017-04-17 00:20:22 -04:00
Jeffrey Walton bf92cb0039
Split regtest.cpp into regtest{1|2|3}.cpp
regtest.cpp is where ciphers register by name. The library has added a number of ciphers over the last couple of years and the source file has experienced bloat. Most of the ARM and MIPS test borads were suffering Out of Memory (OOM) kills as the compiler processed the source fille and the included header files.
This won't stop the OOM kills, but it will help the situation. An early BeagleBoard with 512 MB of RAM is still going to have trouble, but it can be worked around by building with 1 make job as opposed to 2 or 4.
2017-04-13 21:45:21 -04:00
Jeffrey Walton c21023e2dc
Removed 'aligned' makefile target. It was made default in 5.6.5 2017-03-28 23:49:58 -04:00
Jeffrey Walton 6c50a99254
Fix GNUmakefile to keep *.s files
The distclean recipe deleted ASM files (*.s) rather than preprocessed ASM files (*.S). Leave them both now.
2017-03-25 01:42:23 -04:00
Jeffrey Walton 6381faf277
Rename rdrand.S to rdrand.s 2017-03-23 16:05:30 -04:00
Jeffrey Walton d865cf9e62
Fix OpenBSD 6.0 compile with GCC 4.9 (Issue 395)
This check-in also enables the 64-bit RDRAND routines for X32. The changes were with held until they could be tested. The testing occurred with Issue 395
2017-03-22 17:26:25 -04:00
Jeffrey Walton f502ee9218
Simplify C++ dynamic object initialization
Wrap DetectArmFeatures and DetectX86Features in InitializeCpu class
Use init_priority for InitializeCpu
Remove HAVE_GCC_CONSTRUCTOR1 and HAVE_GCC_CONSTRUCTOR0
Use init_seg(<name>) on Windows and explicitly insert at XCU segment
Simplify logic for HAVE_GAS
Remove special recipies for MACPORTS_GCC_COMPILER
Move C++ static initializers into anonymous namespace when possible
Add default NullNameValuePairs ctor for Clang
2017-03-20 08:51:10 -04:00
Jeffrey Walton 354502d59d
Change HAS_NASM to USE_NASM. The makefile does not etect it automatically 2017-03-14 18:38:37 -04:00
Jeffrey Walton 4bcaabbe26
Updated RDRAND and RDSEED under NASM
Port rdrand.S to Cygwin and OS X
Add DISABLE_NATIVE_ARCH to CmakefileList and GNUmakefile. It supresses the addition of -march=native. DISABLE_NATIVE_ARCH replaces DISABLE_CXXFLAGS_OPTIMIZATIONS in CmakefileList (the latter is now deprecated).
2017-03-13 15:57:47 -04:00