X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=formal-model%2Furcu%2FMakefile;h=c52c4badaf93e2dcbcbd96ae1b22e014e4fcaf09;hb=89674313b5ff1209dc090e3b2c48680d222e81cd;hp=0dc8b2c674945fc60990b0e0f8314de93a9cfa40;hpb=60a1db9d10aaca98e79a5126f168a37d00151845;p=urcu.git diff --git a/formal-model/urcu/Makefile b/formal-model/urcu/Makefile index 0dc8b2c..c52c4ba 100644 --- a/formal-model/urcu/Makefile +++ b/formal-model/urcu/Makefile @@ -26,6 +26,10 @@ default: make urcu_free_no_rmb | tee urcu_free_no_rmb.log make urcu_free_no_wmb | tee urcu_free_no_wmb.log make urcu_free_no_mb | tee urcu_free_no_mb.log + make urcu_free_single_flip | tee urcu_free_single_flip.log + make urcu_progress_writer | tee urcu_progress_writer.log + make urcu_progress_reader | tee urcu_progress_reader.log + make urcu_progress_writer_error | tee urcu_progress_writer_error.log make asserts | tee asserts.log make summary @@ -35,7 +39,7 @@ default: summary: @echo @echo "Verification summary" - @grep error *.log + @grep errors: *.log asserts: clean cat DEFINES > .input.spin @@ -43,7 +47,7 @@ asserts: clean rm -f .input.spin.trail spin -a -X .input.spin gcc -w ${CFLAGS} -DSAFETY -o pan pan.c - ./pan -v -c1 -X -m10000 -w19 + ./pan -v -c1 -X -m10000 -w20 cp .input.spin $@.spin.input -cp .input.spin.trail $@.spin.input.trail @@ -72,14 +76,69 @@ urcu_free_no_mb: clean urcu_free_ltl urcu_free_no_mb_define run urcu_free_no_mb_define: cp urcu_free_no_mb.define .input.define +urcu_free_single_flip: clean urcu_free_ltl urcu_free_single_flip_define run + cp .input.spin $@.spin.input + -cp .input.spin.trail $@.spin.input.trail + +urcu_free_single_flip_define: + cp urcu_free_single_flip.define .input.define + urcu_free_ltl: touch .input.define cat DEFINES > pan.ltl cat .input.define >> pan.ltl spin -f "!(`cat urcu_free.ltl | grep -v ^//`)" >> pan.ltl +# Progress checks + +urcu_progress_writer: clean urcu_progress_writer_ltl \ + urcu_progress_writer_define run_weak_fair + cp .input.spin $@.spin.input + -cp .input.spin.trail $@.spin.input.trail + +urcu_progress_writer_define: + cp urcu_progress_writer.define .input.define + +urcu_progress_writer_ltl: + touch .input.define + cat DEFINES > pan.ltl + cat .input.define >> pan.ltl + spin -f "!(`cat urcu_progress.ltl | grep -v ^//`)" >> pan.ltl + +urcu_progress_reader: clean urcu_progress_reader_ltl \ + urcu_progress_reader_define run_weak_fair + cp .input.spin $@.spin.input + -cp .input.spin.trail $@.spin.input.trail + +urcu_progress_reader_define: + cp urcu_progress_reader.define .input.define + +urcu_progress_reader_ltl: + touch .input.define + cat DEFINES > pan.ltl + cat .input.define >> pan.ltl + spin -f "!(`cat urcu_progress.ltl | grep -v ^//`)" >> pan.ltl + +urcu_progress_writer_error: clean urcu_progress_writer_error_ltl \ + urcu_progress_writer_error_define run_weak_fair + cp .input.spin $@.spin.input + -cp .input.spin.trail $@.spin.input.trail + +urcu_progress_writer_error_define: + cp urcu_progress_writer_error.define .input.define + +urcu_progress_writer_error_ltl: + touch .input.define + cat DEFINES > pan.ltl + cat .input.define >> pan.ltl + spin -f "!(`cat urcu_progress.ltl | grep -v ^//`)" >> pan.ltl + + +run_weak_fair: pan + ./pan -a -f -v -c1 -X -m10000 -w20 + run: pan - ./pan -a -v -c1 -X -m10000 -w19 + ./pan -a -v -c1 -X -m10000 -w20 pan: pan.c gcc -w ${CFLAGS} -o pan pan.c