| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Only throw on systems where 32 bit std::time_t is used.
|
| |
|
| |
|
| |
|
|
|
|
| |
The macro has to be on its own line or Doxygen gets confused.
|
|\
| |
| |
| | |
OS::get_high_resolution_clock
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now let it return 0 if we have no hardware timestamp, and add
OS::get_high_resolution_clock for best available clock.
This is mainly because it's confusing for get_processor_timestamp to return
something that is not a processor timestamp and because it simplifies adding
cycles/byte output if we know that something is or is not a cycle counter.
Also adds Windows SEH version of run_cpu_instruction_probe. Untested, uncompiled.
|
| | |
|
| |
| |
| |
| | |
Different intrinsics API
|
| | |
|
| |
| |
| |
| | |
Return NEON from CPUID::has_simd_32
|
|/
|
|
| |
Tested on qemu-aarch64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on build output sent by @noloader.
If RLIMIT_MEMLOCK is not defined, assume regular user is not able to
call mlock. This probably also affected Clang/GCC on Solaris.
Work around resolution issue in SIMD_4x32 where it finds ambiguity
between arg taking uint32_t and __m128i. This is probably some
artifact of how SunCC represents vector types, and seems highly bogus
in general but is easy to work around here. Change constructor taking
a single value to instead be `SIMD_4x32::splat` function. The SIMD
class is internal, so no API implications.
Fix various warnings about lambda functions that were missing return
types and which were not a single return statement. AIUI C++11 doesn't
guarantee that lambda return type will be deduced in that situation,
though in practice every compiler including SunCC seems to handle it.
Disable AVX2 usage, since SunCC's intrinsics seem to be broken - its
_mm_loadu_si256 takes non-const pointer.
Rename a few variables in the tests to avoid shadowed var warnings.
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
| |
Doesn't seem to be a problem with the asm, code works fine on physical
hardware (POWER8) but on qemu (on CI) both instructions return zero
and the test fails.
|
|
|
|
|
|
|
|
|
| |
Deprecates CPUID::print, mainly to avoid use of ostream in utils.
Main reasoning is some platforms do not have streams at all. If all uses of
streams are for operator<< and operator>> overloads, these can be guarded by a
future BOTAN_HAS_CPP_STREAMS system-feature flag. But when ostreams are
required to use the API (as here), that is not possible.
|
|
|
|
|
| |
Mainly driven by missing test for OS::run_cpu_instruction_probe.
Currently only works on x86 and ARM. Tested on x86-64 native and aarch64 qemu.
|
|
|
|
|
| |
Missing on Android it appears, or at least on Kullo CI NDK.
Not essential by any means.
|
| |
|
| |
|
|
|
|
|
|
| |
Tested for ARM only under qemu-aarch64, need to check hardware before merging.
Changes x86 CPUID bitmasks which does break ABI for 2.1, no API implications.
|
|
|
|
|
|
| |
os_utils.h was missing an include, only noticed on OS X
sigemptyset is a macro on OS X so cannot be called as ::sigemptyset
|
|
|
|
|
|
| |
Needed for ARM detection, also probably useful on PowerPC for AltiVec
Works fine for me on Linux x86-64 testing with ud2 instruction.
|
|
|
|
|
| |
It is not a general purpose util or something we want applications to use.
It is only used by x509 and hopefully will be removed from there soon enough.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We support 3.5 or higher generally, but only Clang 3.8 has the
function attributes. This doesn't affect the build with older Clang
because the makefile still sets file-wide ISA flags.
GCC supports this attribute in all versions we support.
Fixes GH #797
|
| |
|
|
|
|
| |
Caused tests to fail on CI
|
|
|
|
|
| |
Expose Data{Source,Sink}_Stream types even if no filesystem is
available. Instead just guard the constructors taking a pathname.
|
|
|
|
|
|
| |
Renames a couple of functions for somewhat better name consistency,
eg make_u32bit becomes make_uint32. The old typedefs remain for now
since probably lots of application code uses them.
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
All this is just standard C that the user should not touch, so it doesn't
really make sense to have it in the build.h template file.
Remove BOTAN_TARGET_CPU_HAS_KNOWN_ENDIANESS - only used twice (in loadstor.h)
and that code is clearer without it.
|
|\
| |
| |
| |
| |
| | |
Splits up path validation into several sub-functions for easier testing
and creating customized validation code. Much improved OCSP handling
and OCSP tests.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
This caused Doxygen to dump the copyright notices for those files into
the Botan namespace description, which is not helpful.
[ci skip]
|
| |
|
|
|
|
|
|
| |
Still not a hard error even in maintainer mode because sometimes
system headers pull in C style casts via macros (eg MAP_FAILED).
But, it not being a hard error makes it easy to backslide.
|
|
|
|
| |
Only works for GCC and Clang
|
|
|
|
|
| |
Having a runtime endian test to verify against the build setting is
useful.
|
|
|
|
|
| |
This allows wait() to be called immediately after sync() returns, even if not
all of the waiting threads have awoken.
|
|
|
|
|
|
|
|
| |
This commit introduces a concept of a barrier, where all threads must
synchronise before continuing. Threaded Fork uses this to ensure that all
input is consumed by each sink exactly once.
Fixes #695.
|
| |
|
| |
|