| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
These were already implicit due to requiring the relevant ISA
|
|
|
|
|
|
|
| |
Avoid including build.h or assert.h directly, instead always take
them though types.h
Avoid math.h in favor of cmath
|
|
|
|
|
|
| |
ISO C++ reserves names with double underscores in them
Closes #512
|
|
|
|
|
|
| |
All minimum compiler versions in rdseed are less or equal the minimum
compiler version for the Botan 2.x branch. Remove those explicit
restrictions to allow users with unknown cc_version to compile rdseed
|
|
|
|
|
| |
See comments in
https://github.com/randombit/botan/commit/7f019174bfcf3c2b31bda74fe40ce35727db1cef
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This comes up recently to support CPU extensions by Intel (#826) and
ARM (#844) since the intrinsic functions were only added in compiler
versions more recent than the minimums we generally support, but might
actually be useful for all kinds of things in the future since one can
add a (new, otherwise optional) C++14 or C++17 module in 2.x branch
while continuing to support the current set of supported compiler
versions for the main library functionality.
Uses RDSEED as the test case, to ensure version detection/comparisons
work on all platforms.
|
| |
|
|
|
|
|
|
| |
Kind of a vestigial thing from an earlier iteration of the module
design, and never useful to specify anymore since taking all the cpp
files is what you want exactly 100% of the time.
|
|
|
|
|
|
|
|
| |
Also emit `#pragma GCC target` in the ISA specific amalgamation files.
This allows compiling without any special compiler flags, at least
with GCC 6.2 and Clang 3.8. The ISA annotations are ignored in MSVC,
which just emits whatever instruction the intrinsic requires.
|
|
|
|
|
| |
Remove Entropy_Accumulator, instead have entropy sources directly
add entropy to the RNG.
|
| |
|
|\
| |
| |
| | |
The Intel RNG may fail if heavily contended, so retry as needed.
|
| |
| |
| |
| | |
prevents filtering out any 0x00000000 outputs from RDRAND/RDSEED
|
| |
| |
| |
| |
| |
| |
| |
| | |
* no spaces around if(), for() etc
* snake_case for plain functions
* anonymous namespace function instead private and static
* don't propagate failed poll to the calling application
* RdRand retires configurable in build.h
|
| |
| |
| |
| |
| | |
* Make it configurable how often RdRand and RdSeed is polled
* Make it configurable how many RdSeed retries are executed
|
|/
|
|
|
|
|
| |
In some cases this can offer better optimization, via devirtualization.
And it lets the user know the class is not intended for derivation.
Some discussion in GH #402
|
|
|
|
| |
GH #370 for background
|
|
|