Commit Graph

53 Commits

Author SHA1 Message Date
Jeffrey Walton
4473b50803
Fix 32-bit ARM build 2022-02-11 08:07:33 -05:00
Jeffrey Walton
3632a54e1a
Allow Cryptogams AES and SHA unless CRYPTOPP_DISABLE_ASM 2022-02-10 19:42:56 -05:00
Jeffrey Walton
ea9532e5c9
Couple Cryptogams source files to ARMv7 and NEON 2022-02-08 13:33:12 -05:00
Jeffrey Walton
66d73d6d8b
Use CPPFLAGS more consistently in Makefiles 2022-02-07 19:29:58 -05:00
Dimitris Apostolou
715a0bcce3
Fix typos (PR# 1099) 2022-01-04 05:06:35 -05:00
Jeffrey Walton
770b60eccd
Update comments 2021-05-25 20:27:11 -04:00
Jeffrey Walton
1221e0dc9e
Use inline ASM for CRC on Apple ARMv8 2021-05-25 20:24:58 -04:00
Jeffrey Walton
01d374afd1
Move UINT64_CAST to config_asm.h 2021-05-23 05:17:08 -04:00
Jeffrey Walton
b206071aa7
Update CRYPTOPP_SHANI_AVAILABLE for Intel ICPC version 16.0 2021-04-21 13:18:00 -04:00
Jeffrey Walton
fee14910ea
Move M128_CAST and CONST_M128_CAST to config_asm.h 2021-04-20 01:48:03 -04:00
Jeffrey Walton
a157402f19
Fix grep expression in cryptest-ios.sh 2021-03-11 18:37:39 -05:00
Jeffrey Walton
4943c82cc1
Update ARMv8 defines for iOS 2021-03-11 01:51:13 -05:00
Jeffrey Walton
674d1cbaa5
Fix ARM builds on iOS
The guard for CRYPTOPP_ARM_NEON_AVAILABLE was missing the Apple Clang compiler. Derp...
2021-03-11 01:09:42 -05:00
Jeffrey Walton
e6170878ef
Update comments 2021-03-09 10:51:26 -05:00
Jeffrey Walton
c0484e0af6
Add CRYPTOPP_DISABLE_ANDROID_ADVANCED_ISA for Android.mk (GH #1015) 2021-03-09 10:32:18 -05:00
Jeffrey Walton
d67a439499
Remove old Android workarounds from config_asm.h (GH #1015) 2021-03-09 09:53:27 -05:00
Jeffrey Walton
3f5396cf9e
Update ARM feature detection macros
Cross your fingers... This is an absolute mess...
2021-03-07 19:51:14 -05:00
Jeffrey Walton
bbc6768078
Update comments 2021-03-06 03:43:38 -05:00
Jeffrey Walton
7e2821cc48
Remove unneeded fixup for CRYPTOPP_ARM_PMULL_AVAILABLE
Once we switched to GCC inline assembly the Apple/Clang problems went away.
2021-03-06 03:34:04 -05:00
Jeffrey Walton
f25500dce6
Update config_asm.h for Apple M1 2021-03-06 03:03:00 -05:00
Jeffrey Walton
8e9cb9d9d8
Whitespace check-in 2021-03-04 22:49:25 -05:00
Tobias Nießen
0a40a0c3ca
Fix typos in documentation and comments (PR #1012) 2021-03-04 13:17:42 -05:00
Mouse
ef9b62f00a
Update config_asm.h
Fix compilation on MacOS with Xcode-12.3 clang, and GCC (tested with Macports-installed GCC-10 and `AS_INTEGRATED_ASSEMBLER=1` setting).
2020-12-28 09:39:45 -05:00
Jeffrey Walton
ebf9e2e4ac
Update comments 2020-12-28 03:39:42 -05:00
Tanzinul Islam
e539aab454
Build with Oracle Developer Studio 12.6 in 64-bit (PR #990)
- The _mm256_loadu_si256() intrinsic is declared with a pointer to
  non-const input. Apply const_cast accordingly.

- The XGETBV instruction isn't recognized, so apply the same
  workaround as for old GCC versions.
  <https://docs.oracle.com/cd/E53394_01/html/E54851/gnyen.html>

- Only AT&T syntax is supported; there is no directive to switch
  Intel syntax. Therefore, disable mixed-ASM code paths.
2020-12-27 16:18:12 -05:00
Jeffrey Walton
ad17e0290a
Update documentation 2020-12-25 20:32:21 -05:00
Jeffrey Walton
8f1746790e
Update documentation 2020-12-25 13:45:42 -05:00
Jeffrey Walton
5bae476e5d
Fix spelling 2020-12-18 20:04:43 -05:00
Jeffrey Walton
7272770309
Update comments (GH #950) 2020-08-06 15:34:26 -04:00
Jeffrey Walton
95e0d5de19
Update test programs 2020-07-27 12:46:11 -04:00
Jeffrey Walton
18b535fb5a
Add CPUID64 for MSVC missing __cpuidex 2020-02-07 14:19:46 -05:00
Jeffrey Walton
06cee3cdf4
Fix AIX and Linux compiles for PowerPC (PR #902) 2019-10-23 18:15:47 -04:00
Jeffrey Walton
66321bda10
Cleanup config_asm for PowerPC 2019-10-22 19:52:54 -04:00
Jeffrey Walton
d58a00ba21
Cleanup config_*.h files, update travis.yml file (PR #898)
This started as an update to travis.yml to support ARM64 testing. Autotools had a failure under Clang, and it required a modification to config_asm.h. We eventually guarded the availability defines in CRYPTOPP_DISABLE_ASM.
2019-10-20 21:46:05 -04:00
Jeffrey Walton
fbc1437089
Disable AVX and AVX2 for Android builds 2019-10-17 10:56:54 -04:00
Jeffrey Walton
b64a920bc9
Enable CRYPTOPP_DISABLE_MIXED_ASM in config_asm.h 2019-10-17 08:46:27 -04:00
Thomas Braun
85f16efc32 Allow clang-tooling (PR #897)
When using cryptopp in your own projects and using clang tooling (e.g.
clang-tidy) for inspecting your project, this currently errors out due to the #error
directive when done on Windows with MS Visual Studio.

The #error directive here is meant for code execution and not for code
inspection.

So we now don't error out  when __clang_analyzer__ is defined. That
macro was introduced into clang tooling in
https://reviews.llvm.org/D46325.
2019-10-17 08:41:30 -04:00
Jeffrey Walton
60eedb97ba
Fix ARM headers and Android compile (PR #896)
* Test fix ARM headers
This problem has been festering for some time. The header file includes are slightly different than the ISA options. Some platforms need an include, others don't.

* Fix cryptest-android.sh and cryptest-ios.sh

* Fix MSVC ARM32 and ARM64 compile

* Split ARM32 and ARM64 recipes in GNUmakefile
2019-10-16 21:00:45 -04:00
Jeffrey Walton
ba517a6c31
Fix setenv-android.sh and cryptest-android.sh for NDK r19 (PR #893)
setenv-android.sh and cryptest-android.sh are up to date for NDK r19 again.
2019-10-15 18:05:54 -04:00
Jeffrey Walton
bf8a765c32
Fix Rijndael recursion overflow when -DCRYPTOPP_DISABLE_SSSE3 (GH #880, PR #886) 2019-09-28 21:37:58 -04:00
Jeffrey Walton
f0d7917719
Move CRYPTOPP_NO_CXX11 and CRYPTOPP_NO_CXX17 to config_cxx.h
It looks like these two were overlooked during refactoring
2019-07-11 12:10:19 -04:00
Alon Bar-Lev
2eb400c52f config: guard CRYPTOPP_SSE2_INTRIN_AVAILABLE with CRYPTOPP_DISABLE_SSE2 (#858)
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-07-02 16:45:03 -04:00
Jeffrey Walton
1650cac3f3
Update comments 2019-05-23 19:35:05 -04:00
Jeffrey Walton
6f3be56c9d
Update comments 2019-05-21 19:40:11 -04:00
Jeffrey Walton
268ea61f1c
Cutover to CRYPTOPP_LLVM_CLANG_VERSION (GH #845)
We were using CRYPTOPP_CLANG_VERSION in some places.
2019-05-21 07:54:47 -04:00
Jeffrey Walton
751515901b
Limit Cryptogams AES and SHA to Linux distros
The Apple assembler cannot translate the source files for iOS.
2019-05-21 05:59:58 -04:00
Jeffrey Walton
02baab2307
Enable Cryptogams AES on ARM using Clang
It looks like AES needed -mthumb for Clang. SHA must not use -mthumb under Clang due to a crash.
2019-05-21 04:23:40 -04:00
Jeffrey Walton
5c7c092336
Cleanup Cryptogams defines 2019-05-20 16:39:26 -04:00
Jeffrey Walton
00155d42cc
Enable Cryptogams SHA asm for Clang
AES is still disabled
2019-05-20 15:29:30 -04:00
Jeffrey Walton
d38e5a954d
Add ARM SHA512 asm implementation from Cryptogams (GH #841, PR #843)
Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams  has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.

Andy's implementation runs about 45% faster than C/C++ code. Testing on a 1.8 GHz Cortex-A17 shows Cryptograms at 45 cpb, and C++ at 79 cpb.

The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
2019-05-19 16:29:45 -04:00