Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Classic McEliece #1470

Merged
merged 11 commits into from
Jul 17, 2023
1 change: 0 additions & 1 deletion .CMake/compiler_opts.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wextra)
add_compile_options(-Wpedantic)
add_compile_options(-Wno-unused-command-line-argument)
add_compile_options(-Wno-language-extension-token)
baentsch marked this conversation as resolved.
Show resolved Hide resolved
endif()
if(CC_SUPPORTS_WA_NOEXECSTACK)
add_compile_options("-Wa,--noexecstack")
Expand Down
7 changes: 5 additions & 2 deletions docs/algorithms/kem/classic_mceliece.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ spec-version: SUPERCOP-20221025
upstream-ancestors:
- SUPERCOP-20221025 "clean" and "avx2" implementations
advisories:
- The implementation of the Classic-McEliece-8192128 parameter set is known to fail
memory leak testing on x86-64.
- Classic-McEliece-460896, Classic-McEliece-460896f, Classic-McEliece-6960119, and
Classic-McEliece-6960119f parameter sets fail memory leak testing on x86-64 when
building with ``clang`` using optimization level ``-O2`` and ``-O3``. Care is advised
when using the algorithm at higher optimization levels, and any other compiler and
architecture.
parameter-sets:
- name: Classic-McEliece-348864
claimed-nist-level: 1
Expand Down
4 changes: 2 additions & 2 deletions scripts/copy_from_upstream/src/kem/family/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }})
{%- if impl['compile_opts'] %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})
{%- endif %}
{%- if family == 'classic_mceliece' and impl['name'] == 'avx' %}
baentsch marked this conversation as resolved.
Show resolved Hide resolved
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-language-extension-token)
{%- if family == 'classic_mceliece' and impl['name'] == 'avx2' %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-language-extension-token -O1)
{%- endif %}
{%- if family == 'hqc' and impl['name'] == 'avx2' %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-missing-braces)
Expand Down