Fix compilation and JIT support on NetBSD
1. Disable hugepages (not supported).
2. Force W^X (required).
3. When allocating JIT memory, PROT_EXEC must be reserved
in order to set the pages executable later.
1. Disable hugepages (not supported).
2. Force W^X (required).
3. When allocating JIT memory, PROT_EXEC must be reserved
in order to set the pages executable later.
Adds more parallelizm into AES loop so modern CPUs can take advantage of it. Also, scratchpad data moves between L1 and L3 caches only one time which saves time and energy per hash.
* Fixed CMake configuration for visual studio build
Added proper asm source and set correct type.
* Disabled stadard layout check of randomx_cache for visual studio debug
Required to silence static_assert which fails on Visual Studio Debug
configuation.
* Fixed warning message and defines check
* Removed unsupported flags for MSVC compiler
* Enabled AVX2 for msvc
* Fixed formatting in CmakeLists
* Added generation of configuration.asm by CMake for MSVC
* build: remove hardcoded lib/ destination
cmake internally has a logic to know where is the best place to install
a given library. For example on amd64 it does not make sense to install
the library in /usr/lib, this change allow the library to the installed
in /usr/lib64
* build: mark src/randomx.h as a public header
this allow src/randomx.h to be installed in /usr/include/randomx.h
automagically during make install
Since OpenBSD 6.0 W^X is enforced.
Added `RANDOMX_FLAG_SECURE` in tests and benchmarks.
Updated comment.
Excluded `cpu_set_t` since it is not defined on OpenBSD.