Commit Graph

430 Commits (b16d37e3471aa12a2e1bf27f1d2c33251edc308c)

Author SHA1 Message Date
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
Nicolas Chauvet (kwizart) 7c7a12c584 Use TCXXFLAGS instead of CXXFLAGS (#815)
As done with others tests. This will avoid a miss-detection of aarch64 features
when using flags such as _FORTIFY_SOURCE that needs to be filtered for testing

This fixes https://github.com/weidai11/cryptopp/issues/812

V2: Fix all cases

Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
2019-02-28 06:37:18 -05:00
Jeffrey Walton 84ab1f3c66
Remove early NEON qualification tests from Makefile (GH #812, GH #813)
The makefile tries to pre-qualify NEON (for lack of a better term), and sets IS_NEON accordingly. If IS_NEON=1, then we go on to perform test compiles to see if -mfloat-abi=X -mfpu=neon (and friends) actually work. Effectively we are performing a test to see if we should perform another test.

The IS_NEON flag predates our compile time feature tests. It was kind of helpful when we were trying to sort out if a platform and compiler options supported NEON without a compile test. That was an absolute mess and we quickly learned we needed a real compile time feature test (which we now have).

Additionally, Debian and Fedora ARMEL builds are failing because we are misdetecting NEON availability. It looks like we fail to set IS_NEON properly, so we never get into the code paths that set either (1) -mfloat-abi=X -mfpu=neon or (2) -DCRYPTOPP_DISABLE_NEON or -DCRYPTOPP_DISABLE_ASM. Later, the makefile builds a *_simd.cpp and the result is an error that NEON needs to be activated (or disabled).

This commit removes IS_NEON so we immediately move to compile time feature tests.
2019-02-27 19:35:04 -05: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
Jeffrey Walton c6e8a61b8b
Add SHAKE-128 and SHAKE-256 (GH #805, PR #806) 2019-02-12 19:51:37 -05:00
Jeffrey Walton 5b1e6fd28f
Fix Fedora 7 compile
Fedora 7 toolchain supplies upto SSE4.2
2019-02-05 01:14:35 -05:00
Jeffrey Walton e10736482c
Add test compile to makefile 2019-02-03 11:09:10 -05:00
Jeffrey Walton ef1c8c2bb4
Add Hurd support for Makefile and cryptest.sh
IS_HURD in the makefile is to avoid complaints by some of the more eager GNU folks. We could do it using IS_LINUX
2019-02-03 10:28:48 -05:00
Jeffrey Walton 83145ffed6
Cleanup lcov recipe 2019-02-02 16:49:28 -05:00
Jeffrey Walton d0cc098af1
Cleanup Gcov recipe
We should have removed the source files at GH #208, PR #703
2019-02-02 15:34:56 -05:00
Jeffrey Walton 4d24876490
Fix Linux detection for GNU Hurd 2019-02-02 15:20:59 -05:00
Jeffrey Walton 3d07010ac8
Fix self test failure with IBM XL C/C++ on AIX 2019-01-22 08:16:03 -05:00
Jeffrey Walton 0b348fe4be
Remove socket libraries
This should have been removed at Issue 178 and Issue 208
2019-01-20 16:43:49 -05:00
Jeffrey Walton df9fa62205
Use carryless multiplies for NIST b233 and k233 curves (GH #783, PR #784)
Use carryless multiplies for NIST b233 and k233 curves.
2019-01-16 00:02:04 -05:00
Jeffrey Walton 86fd3ef109
Rework makefile, avoid GNU install program
Solaris lacks a GNU compatible install program in /usr/bin and /usr/xpg4/bin. Just use cp and chmod. Cp and chmod work everywhere
2019-01-02 19:48:20 -05:00
Tanzinul Islam 148a5e917b Avoid Clang integrated assembler on macOS PowerPC (GH #769) 2018-12-30 00:47:02 -05:00
Jeffrey Walton 2d06777747
Fix GCM build when SSSE3 not available 2018-12-29 00:56:25 -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 152ac6177c
Add Moon's curve25519 using SSE2 (GH #761)
Moon's code is very fast. In fact it is so fast it broke our benchmarks. Moon's code registers 0.00 milliseconds and 0.00 megacycles/operation.
2018-12-13 10:19:54 -05:00
Jeffrey Walton a6067da355
Fix Fedora and Red Hat feature tests
They use a hardened build and include flags like -Werror=XXX and -Wp,FORTIFY_SOURCE
2018-12-05 18:30:25 -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 a1c89661bc
Fix -xarch for CLMUL on Solaris 2018-12-04 18:32:45 -05:00
Jeffrey Walton cdefa5befe
Test Travis Xenial build
I can't test on my fork at the moment because it is tied up with some other changes. Also see https://blog.travis-ci.com/2018-11-08-xenial-release.
2018-12-04 11:05:16 -05:00
Jeffrey Walton 482151a980
Fix Aarch64 with early GCC 2018-12-04 05:49:21 -05:00
Jeffrey Walton 774454ba7c
Cleanup Disable rules for x86 2018-12-01 21:33:17 -05:00
Jeffrey Walton 92ae496c80
Update GNUmakefile-cross for feature tests (GH #741) 2018-12-01 12:48:47 -05:00
Jeffrey Walton 42de69d883
Update ARM recipes 2018-12-01 10:42:20 -05:00
Jeffrey Walton 9e5ba86d7b
Fix Macports build on old hardware
We needed to detect MacPorts earlier so the flags are used in TCXXFLAGS
2018-12-01 06:04:45 -05:00
Jeffrey Walton cecd2fd66c
Remove language dependent BAD_RESULT variable from Makefile 2018-12-01 04:02:15 -05:00
Jeffrey Walton 41d4fcecbd
Fix typo 2018-12-01 03:55:39 -05:00
Jeffrey Walton 06c0c27e10
Update test programs for x86 and ARM (GH #741) 2018-12-01 03:16:54 -05:00
Jeffrey Walton 6028a6921a
Fix SIGILL in TestDARN() function
I thought this was due to trying to call the darn instruction even though g_hasDARN == false on Power8. However, the problem turned out to be a Power9 load was used when DARN class threw a DARN_Err.
2018-11-30 09:12:35 -05:00
Jeffrey Walton 603d37b28b
Fix type for XLC features ladder 2018-11-28 21:35:07 -05:00
Jeffrey Walton 5d9ecc2b2e
Align GNUmakefile with Autotools and CMake 2018-11-28 19:58:58 -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 e26b1a0b2a
Add debug heap support on AIX with IBM XLC 2018-11-21 20:19:06 -05:00
Jeffrey Walton 2caa62a066
Add TCXXFLAGS for compiler and cpu feature testing (GH #741)
This will allow users to specify agreesive warning flags without accidentally failing a feature test. The feature tests are minimal but the system headers could be noisy under elevated warnings
2018-11-21 16:25:34 -05:00
Jeffrey Walton 4db81f2eba
Improve -fPIC and -pthread rules 2018-11-21 15:16:55 -05:00
Jeffrey Walton f52a141f6e
Add separate Polynomial Multiply feature test on POWER8 (GH#742) 2018-11-19 18:31:45 -05:00
Jeffrey Walton 87565dce75
Add POWER3 test for PowerPC
Issue 656 talks about running on a G4 Macbook
2018-11-19 15:23:07 -05:00
Jeffrey Walton 3129ad4d70
Fix LLVM Clang compile on PowerPC 2018-11-19 02:28:29 -05:00
Jeffrey Walton 1ac7207545
Use clean compile as feature test gate on PowerPC (GH #742) 2018-11-18 20:49:55 -05:00
Jeffrey Walton 76cb99ffe8
Add unexpected to BAD_RESULT 2018-11-18 19:40:34 -05:00
Jeffrey Walton 3725c8411b
Move CPU_ProbePower7 and CPU_ProbePower8 into their own source files (GH #742) 2018-11-18 16:35:02 -05:00
Jeffrey Walton 2e68e95a92
Add BLAKE2s and ChaCha CORE SIMD function (GH #656)
The CORE function provides the implementation for ChaCha_OperateKeystream_ALTIVEC, ChaCha_OperateKeystream_POWER7, BLAKE2_Compress32_ALTIVEC and BLAKE2_Compress32_POWER7. Depending on the options used to compile the source files, either POWER7 or ALTIVEC will be used.
This is needed to support the "new toolchain, ancient hardware" use case.
2018-11-18 14:43:48 -05:00
Jeffrey Walton aae108d228
Fix PowerPC-64 detection using Clang 2018-11-18 01:52:42 -05:00
Jeffrey Walton 889c98b9af
Add Newlib test 2018-11-17 15:50:04 -05:00
Jeffrey Walton 0564266151
Cleanup makefile 2018-11-17 15:28:30 -05:00
Jeffrey Walton c4c413e3f3
Drop GCM to POWER7 if POWER8 unavailable 2018-11-17 00:47:17 -05:00