diff --git a/.gitattributes b/.gitattributes index 3168e2d8265884573d78d1eb8bb46f6f3cd5357f..0f7de35af8aa1621757957df6968cb05b1b10417 100644 --- a/.gitattributes +++ b/.gitattributes @@ -986,6 +986,7 @@ tools/cfar_configs/cfar_structNogOF_structSS_structDS_phase1_zipr.sh -text tools/cfar_configs/cfar_structNog_phase1_zipr.sh -text tools/cfar_configs/cfar_structNog_structNol_structNoh_structNos_structNoc_probHeaprand_zipr.sh -text tools/cfar_configs/cfar_structNog_structNol_structNoh_structNos_structNoc_structP1Canaries_probHeaprand_zipr.sh -text +tools/cfar_configs/cfar_structNog_structSS_phase1_zipr.sh -text tools/cfar_configs/cfar_structNoh_probIlr_structP1Canaries_probHeaprand_structNos_strata.sh -text tools/cfar_configs/cfar_structNoh_structNos_structNoc_structP1Canaries_probHeaprand_zipr.sh -text tools/cfar_configs/cfar_structNol_structNoh_probIlr_structP1Canaries_probHeaprand_structNos_strata.sh -text diff --git a/cpp-examples/testit.sh b/cpp-examples/testit.sh index f446d187e591a80702984be84a4c876eab40c617..5cf57205ef5036a530433d8a4f185b6eb9430780 100755 --- a/cpp-examples/testit.sh +++ b/cpp-examples/testit.sh @@ -1,18 +1,23 @@ #!/bin/bash -src_files="derived4_throw.cpp derived3_throw.cpp derived2_throw.cpp derived_throw.cpp simple_throw.cpp throw.cpp " +src_files=" simple_throw.cpp throw.cpp derived_throw.cpp derived2_throw.cpp derived3_throw.cpp derived4_throw.cpp " throws="THROW_INT THROW_CHAR THROW_FLOAT" #--------------- compare() { + + rm -f good.txt xform.txt + env $1 ./a.out > good.txt 2>&1 + exit1=$? env $1 ./xxx > xform.txt 2>&1 + exit2=$? cmp good.txt xform.txt > /dev/null 2>&1 - if [ $? != 0 ]; then + if [[ $? != 0 ]] || [[ $exit1 != $exit2 ]]; then echo "Failed test: $1"; diff good.txt xform.txt exit 2 @@ -27,7 +32,7 @@ doit() echo "------------------------------------------------------" echo "Trying $src with options: $options" - echo "And psflags=$psflags " + echo "And psflags=$psopts " g++ -w $options $src rm -Rf peasoup_executable_direc* EHIR_VERBOSE=1 $PSZ ./a.out ./xxx --step-option fill_in_indtargs:--split-eh-frame --step-option zipr:'--add-sections true' $psopts @@ -38,6 +43,8 @@ doit() do compare $throw=1 done + echo "Passed test!" + echo "------------------------------------------------------" } @@ -61,8 +68,9 @@ main() do for option in -O0 -O1 -O2 -O3 -Os -Og do - doit_meta $src "$option" "" - doit_meta $src "$option" "--step p1transform=on" + #doit_meta $src "$option" "" + #doit_meta $src "$option" "--step p1transform=on" + doit_meta $src "$option" "--step stack_stamp=on" done done } diff --git a/tools/cfar_configs/cfar_structNog_structSS_phase1_zipr.sh b/tools/cfar_configs/cfar_structNog_structSS_phase1_zipr.sh new file mode 100755 index 0000000000000000000000000000000000000000..533a59e041addb37d2204fd727ee60cd77b4ee23 --- /dev/null +++ b/tools/cfar_configs/cfar_structNog_structSS_phase1_zipr.sh @@ -0,0 +1,6 @@ +#!/bin/bash +source $(dirname $0)/../ps_wrapper.source $0 + + +$PEASOUP_HOME/tools/cfar.sh "$@" --backend zipr --step diehard=on --step-option zipr:"--zipr:seed $$" --structured_noc --structured_nos --step-option zipr:"--large_only:on true" --structured_p1_canaries --step p1transform=on --step non_overlapping_stack=on --config_name $(basename $0 .sh|sed "s/cfar_//") --step move_globals=on --step set_interpreter=on --step-option set_interpreter:"--interp /target_apps/ld-nol.so" --structured_nog --step-option zipr:"--large_only:nog_on true " --step noh=on --step nol=on --step stack_stamp=on --structured_stack_stamp --step-option move_globals:-d --step-option move_globals:.interp +