Skip to content
Snippets Groups Projects
Commit 693cd119 authored by jdh8d's avatar jdh8d
Browse files

Better EH verbose messages for zipr, stack stamping+EH support, a new cfar...

Better EH verbose messages for zipr, stack stamping+EH support, a new cfar config (NOG+SS vrs NogOF+SS), as well as an IR refinement technique to do recursive-decent disassembly when a landing pad is not part of a function.

Former-commit-id: 7fc665e949b9b78dce836b8d181faa509e2e7e8d
parent 4423d521
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
#!/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
}
......
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment