diff --git a/tools/ps_analyze.sh b/tools/ps_analyze.sh index ca171a076026d9e8770c0f601f75e01b1cfdfe67..65a684e6b5b9dd5b26b847199e76a3c768d018e8 100755 --- a/tools/ps_analyze.sh +++ b/tools/ps_analyze.sh @@ -904,10 +904,25 @@ perform_step zipr clone,fill_in_indtargs,fill_in_cfg,meds2pdb $ZIPR_HOME/bin/zip is_step_on toctou if [[ $? -eq 1 && -e $GRACE_HOME/ps_concurrency/toctou_tool/libtoctou_tool.so ]]; then + echo Performing step toctou ... cp $GRACE_HOME/ps_concurrency/toctou_tool/libtoctou_tool.so libtoctou_tool.so $PEASOUP_HOME/tools/update_env_var.sh DO_TOCTOU 1 +else + echo Skipping step toctou. +fi + +# copy deadlock tool here if it exists +is_step_on deadlock +if [[ $? -eq 1 && -e $GRACE_HOME/ps_concurrency/deadlock/libdeadlock_tool.so ]]; +then + echo Performing step deadlock ... + cp $GRACE_HOME/ps_concurrency/deadlock/libdeadlock_tool.so libdeadlock_tool.so + $PEASOUP_HOME/tools/update_env_var.sh DO_DEADLOCK 1 +else + echo Skipping step deadlock fi + # # create a report for all of ps_analyze. # diff --git a/tools/ps_run.sh b/tools/ps_run.sh index 2c396112e1ddfa6f44bcb10b6825d3bb42457a5c..614046ac49e215688c0d6d3280403edb5c1c5a2c 100755 --- a/tools/ps_run.sh +++ b/tools/ps_run.sh @@ -57,6 +57,16 @@ if [ "$DO_TOCTOU" = "1" ]; then APP_LD_PRELOAD="$datapath/libtoctou_tool.so:$APP_LD_PRELOAD" fi +DO_DEADLOCK=0 +if [ "$DO_DEADLOCK" = "1" ]; then + if [ -z $DEADLOCK_LOG ]; then + DEADLOCK_LOG=$datapath/deadlock.log + fi + command="$command DEADLOCK_LOG=$DEADLOCK_LOG + " + APP_LD_PRELOAD="$datapath/libdeadlock_tool.so:$APP_LD_PRELOAD" +fi + # these are now defaulted nicely by strata for x86-32 and x86-64. #STRATA_IBTC=1