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
+