1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-26 17:31:38 +00:00
Commit Graph

32 Commits

Author SHA1 Message Date
bfd9d0cd39 Redesign CMakeLists.txt for MemorySanitizer
The test programs use googletest and google-benchmark
libraries in order to ensure right level of optimizations
and proper unit testing.
Those two libraries are written in C++ and they
use C++ standard library.

If you want MemorySanitizer to work properly and not
produce any false positives, you must ensure that all
the code in your program and in libraries it uses is
instrumented. That includes C++ standard library.

(see here: https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo)

With this change, the Memory Sanitizer build (enabled
by -DMEMSAN=1) will also build MSan-instrumented libc++
from LLVM and will use it as a standard C++ library
when building unit tests and benchmarks.

In particular what I do is this:
1. Clone LLVM project and build libcxx and libcxxabi with
   MSan enabled
2. Build GTEST and GBENCH with -fsanitize=memory and -stdlib=libc++.
   Additionally link against -lc++abi
3. Then use this special version of libc++ and GTEST/GBENCH
   in order to build final binaries containing unit/benchmark tests

The actuall tests with memory sanitizer are disabled, as
I'm getting some errors which need to be investigated first.

Additionally I've splitted single build into multiple, for
release,debug,clang,gcc and AddressSanitizer.

On unrelated note, I've also added flags to ignore some errors
which I'm getting when using newer GCC (see GH#10 GH#11).
2021-06-20 21:33:17 +01:00
cf130cc2ff Build libcxx and libcxxabi with Memory Sanitizer 2021-06-18 16:25:18 +01:00
7bf2710c15 Run KAT in separated step 2021-06-17 07:49:37 +01:00
2083ffc326 remove MSan build for now 2021-06-17 06:40:11 +01:00
0a13e56dd9 adds fpic 2021-06-14 23:12:59 +01:00
002cda4adc multiple compilations 2021-06-14 19:37:53 +01:00
fd21b95a2d kat: run in release mode 2021-05-25 12:30:35 +01:00
a8bb139ea6 Fix testing against KATs 2021-03-25 18:47:56 +00:00
730b2c7d47 fix rust bindings 2021-03-25 00:08:14 +00:00
88fb6821a9 fix test run 2021-03-24 23:55:30 +00:00
810f460a7e maybe add CI 2021-03-24 23:39:12 +00:00
67ee416cb7 Remove not needed files 2021-03-24 21:02:51 +00:00
John Schanck
32c613e8ec Round 3 update for Dilithium (from github source) (#369)
* Update Dilithium

* Alternative montgomery reduce to avoid i386 functest errors

* Explicit casts for msvc

* More casts; bump upstream version; fix metadata

* another cast
2021-03-24 21:02:50 +00:00
Matthias J. Kannwischer
7aef8a6f80 Update Rainbow to round 3 parameter sets (#361)
* rainbow update

* update workflows

* re-add /O2 in nmake Makefile
2021-03-24 21:02:49 +00:00
Thom Wiggers
174060858b Setup python correctly in common tests on Windows and MacOS 2021-03-24 21:02:48 +00:00
Thom Wiggers
f53268924d fix emulated common tests 2021-03-24 21:02:48 +00:00
Thom Wiggers
8914d1669d fix another typo in common tests 2021-03-24 21:02:48 +00:00
Thom Wiggers
b1ed225699 Update workflows 2021-03-24 21:02:48 +00:00
Thom Wiggers
a7bff5a7b5 Do not test if other schemes duplicate_consistency files changed 2021-03-24 21:02:48 +00:00
Thom Wiggers
4793d260eb fix pull request trigger for common workflow 2021-03-24 21:02:48 +00:00
Thom Wiggers
c96487039f Schedule nightly builds 2021-03-24 21:02:48 +00:00
Thom Wiggers
6b7a685b20 don't trigger builds on markdown file changes 2021-03-24 21:02:48 +00:00
Thom Wiggers
904f91cf9b Update README with github actions info 2021-03-24 21:02:48 +00:00
Thom Wiggers
351d17ae70 Implement testing via Github actions
* Fix a bunch of issues in SPHINCS+ on Windows
* Fix testing makefile dependencies by fixing times of common files
  (affected Windows testing mainly)
2021-03-24 21:02:48 +00:00
Thom Wiggers
784973a8fb Update PR template along practice (#254)
* remove automatically checked property

* Allow PR-submitters to self-document.

We don't ever use these, so allow submitters of PRs to self-document.
2021-03-24 21:02:45 +00:00
Thom Wiggers
78257d4299
Add small note to PR template
[ci skip]
2019-04-16 13:39:26 +02:00
Joost Rijneveld
56e8d17a7d
Move #if check from manual to automatic 2019-04-09 17:23:47 +02:00
Joost Rijneveld
9e5fd74823
Test for prohibited includes in api.h 2019-04-09 17:19:20 +02:00
Joost Rijneveld
4bf6810c9a
Explicitly disallow preprocessor #if 2019-04-09 11:17:54 +02:00
Joost Rijneveld
d113b45cf0
Fix font size of pull request template header
The previous header size was a bit excessive, overshadowing actual comments.
2019-04-06 14:45:05 +02:00
Thom Wiggers
764935084a Update pull_request_template.md 2019-04-05 16:19:56 +02:00
Thom Wiggers
1938f78bf1 Pull request template draft
[ci skip]
2019-04-05 16:19:56 +02:00