|
| 1 | +# Copyright (c) The mldsa-native project authors |
| 2 | +# SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT |
| 3 | + |
| 4 | +include ../Makefile_params.common |
| 5 | + |
| 6 | +HARNESS_ENTRY = harness |
| 7 | +HARNESS_FILE = pointwise_native_aarch64_harness |
| 8 | + |
| 9 | +# This should be a unique identifier for this proof, and will appear on the |
| 10 | +# Litani dashboard. It can be human-readable and contain spaces if you wish. |
| 11 | +PROOF_UID = pointwise_native_aarch64 |
| 12 | + |
| 13 | +# We need to set MLD_CHECK_APIS as otherwise mldsa/src/native/api.h won't be |
| 14 | +# included, which contains the CBMC specifications. |
| 15 | +DEFINES += -DMLD_CONFIG_USE_NATIVE_BACKEND_ARITH -DMLD_CONFIG_ARITH_BACKEND_FILE="\"$(SRCDIR)/mldsa/src/native/aarch64/meta.h\"" -DMLD_CHECK_APIS |
| 16 | +INCLUDES += |
| 17 | + |
| 18 | +REMOVE_FUNCTION_BODY += |
| 19 | +UNWINDSET += |
| 20 | + |
| 21 | +PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c |
| 22 | +PROJECT_SOURCES += $(SRCDIR)/mldsa/src/poly.c |
| 23 | + |
| 24 | +CHECK_FUNCTION_CONTRACTS=mld_poly_pointwise_montgomery_native |
| 25 | +USE_FUNCTION_CONTRACTS=mld_poly_pointwise_montgomery_asm |
| 26 | +USE_FUNCTION_CONTRACTS+=mld_sys_check_capability |
| 27 | +APPLY_LOOP_CONTRACTS=on |
| 28 | +USE_DYNAMIC_FRAMES=1 |
| 29 | + |
| 30 | +# Disable any setting of EXTERNAL_SAT_SOLVER, and choose SMT backend instead |
| 31 | +EXTERNAL_SAT_SOLVER= |
| 32 | +CBMCFLAGS=--smt2 |
| 33 | + |
| 34 | +FUNCTION_NAME = pointwise_native_aarch64 |
| 35 | + |
| 36 | +# If this proof is found to consume huge amounts of RAM, you can set the |
| 37 | +# EXPENSIVE variable. With new enough versions of the proof tools, this will |
| 38 | +# restrict the number of EXPENSIVE CBMC jobs running at once. See the |
| 39 | +# documentation in Makefile.common under the "Job Pools" heading for details. |
| 40 | +# EXPENSIVE = true |
| 41 | + |
| 42 | +# This function is large enough to need... |
| 43 | +CBMC_OBJECT_BITS = 8 |
| 44 | + |
| 45 | +include ../Makefile.common |
0 commit comments