File tree 4 files changed +13
-350
lines changed
regression/contracts/s2n_record_writev
4 files changed +13
-350
lines changed Original file line number Diff line number Diff line change @@ -10,8 +10,8 @@ PROOFDIR ?= $(abspath .)
10
10
11
11
CBMC_OBJECT_BITS = 9
12
12
PROOF_UID = s2n_record_writev
13
- HARNESS_ENTRY = $(PROOF_UID )
14
- HARNESS_FILE = $(HARNESS_ENTRY ) .c
13
+ HARNESS_ENTRY = $(PROOF_UID ) _harness
14
+ HARNESS_FILE = $(PROOF_UID ) .c
15
15
16
16
CHECK_FUNCTION_CONTRACTS += s2n_record_writev
17
17
USE_FUNCTION_CONTRACTS += s2n_hmac_update
Original file line number Diff line number Diff line change @@ -662,22 +662,8 @@ $(HARNESS_GOTO)5.goto: $(HARNESS_GOTO)4.goto
662
662
--ci-stage build \
663
663
--description " $( PROOF_UID) : slicing global initializations"
664
664
665
- # Replace function calls with function contracts
666
- # This must be done before enforcing function contracts,
667
- # since contract enforcement inlines all function calls.
668
- $(HARNESS_GOTO ) 6.goto : $(HARNESS_GOTO ) 5.goto
669
- $(LITANI ) add-job \
670
- --command \
671
- ' $(GOTO_INSTRUMENT) $(CBMC_VERBOSITY) $(CBMC_USE_FUNCTION_CONTRACTS) $^ $@' \
672
- --inputs $^ \
673
- --outputs $@ \
674
- --stdout-file $(LOGDIR ) /use_function_contracts-log.txt \
675
- --pipeline-name " $( PROOF_UID) " \
676
- --ci-stage build \
677
- --description " $( PROOF_UID) : replacing function calls with function contracts"
678
-
679
665
# Unwind loops for loop and function contracts
680
- $(HARNESS_GOTO ) 7.goto : $(HARNESS_GOTO ) 6 .goto
666
+ $(HARNESS_GOTO ) 7.goto : $(HARNESS_GOTO ) 5 .goto
681
667
$(LITANI ) add-job \
682
668
--command \
683
669
' $(GOTO_INSTRUMENT) $(CBMC_VERBOSITY) $(CBMC_EARLY_UNWINDSET) $(CBMC_FLAG_UNWINDING_ASSERTIONS) $^ $@' \
@@ -704,7 +690,7 @@ $(HARNESS_GOTO)8.goto: $(HARNESS_GOTO)7.goto
704
690
$(HARNESS_GOTO ) 9.goto : $(HARNESS_GOTO ) 8.goto
705
691
$(LITANI ) add-job \
706
692
--command \
707
- ' $(GOTO_INSTRUMENT) $(CBMC_VERBOSITY) $( CBMC_CHECK_FUNCTION_CONTRACTS) $^ $@' \
693
+ ' $(GOTO_INSTRUMENT) $(CBMC_VERBOSITY) --dfcc $(HARNESS_ENTRY) $( CBMC_CHECK_FUNCTION_CONTRACTS) $(CBMC_USE_FUNCTION_CONTRACTS ) $^ $@' \
708
694
--inputs $^ \
709
695
--outputs $@ \
710
696
--stdout-file $(LOGDIR ) /check_function_contracts-log.txt \
Original file line number Diff line number Diff line change
1
+ This directory contains an example of a problem encountered when
2
+ applying function contracts in the context of AWS s2n-tls. Run the
3
+ example by using the command:
4
+
5
+ make veryclean && make result
6
+
7
+ This creates a large problem during symbolic execution and solving.
8
+
9
+ This test is currently not included in the any regression.
You can’t perform that action at this time.
0 commit comments