From 8050511f1492699fe19319b14441275add4cc547 Mon Sep 17 00:00:00 2001 From: jdh8d <jdh8d@git.zephyr-software.com> Date: Thu, 22 Mar 2018 12:49:09 +0000 Subject: [PATCH] STARS interface scripts cleanup Former-commit-id: 1c2bda4e87056640ba7db93cba0a3b1d98cf8ad0 --- SMP-analyze.sh | 66 +++++++++----------------------------------------- 1 file changed, 12 insertions(+), 54 deletions(-) diff --git a/SMP-analyze.sh b/SMP-analyze.sh index 365c5b9f..0537ff37 100755 --- a/SMP-analyze.sh +++ b/SMP-analyze.sh @@ -77,74 +77,32 @@ rm -f ${IDALOG} old_stty=`stty -g` || true -if [ -n "$SMPSA_PLUGIN" ]; then - OVERRIDE_PLUGIN=$GRACE_HOME/concolic/bin/liboverride_smpsa_plugin.so -fi - - # we can always use idal64, as it analyzes 32-bit binaries just fine. May use a bit more space, but isn't typically a problem. -myidal=idal64 # if LANG is set, ida can core dump unset LANG -# -# if TVHEADLESS is set, call idal on the idapro server -# -echo TVHEADLESS is $TVHEADLESS -if [ $TVHEADLESS"X" != "X" ]; then - case "$IDAROOT" in - *idapro5* ) +case "$IDAROOT" in + *idapro5* ) echo "IDAPro 5.* support depreciated" exit 1 - echo attempting server IDA - if [ ! -n $STRATA ]; then - echo Please set \$STRATA - exit -1 - fi - echo connecting... - $STRATA/tools/idaprod/idaprod_client $SMPSA_HOME $IDAROOT $PWD $STARS_ROOT_FILENAME `ulimit -t` - echo did server IDA - ;; - *idapro6*) - echo "Trying TVHEADLESS IDA" - TVHEADLESS=1 yes | LD_PRELOAD=$OVERRIDE_PLUGIN time ${IDAROOT}/$myidal -A -SSMP.idc -L${IDALOG} $STARS_OPTIONS $STARS_ROOT_FILENAME > $STARS_ROOT_FILENAME.idaoutput 2>&1 - echo "Finished TVHEADLESS IDA" - grep "FATAL ERROR: Memory exhausted." ${STARS_ROOT_FILENAME}.log > /dev/null 2>/dev/null - res=$? - if [ $res = 0 ]; then - echo "OOM Failure detected -- trying reduced mode." - rm *.id? *.i64 $STARS_ROOT_FILENAME.log - - TVHEADLESS=1 yes | LD_PRELOAD=$OVERRIDE_PLUGIN time ${IDAROOT}/$myidal -A -SSMP.idc -L${IDALOG} $STARS_OPTIONS -OSMPStaticAnalyzer:Reduced $STARS_ROOT_FILENAME > $STARS_ROOT_FILENAME.idaoutput 2>&1 - fi - - ;; - *idapro7* | *idaproCur*) + ;; + *idapro6*) + echo "Trying TVHEADLESS IDA6" + myidal=idal64 + ;; + *idapro7* | *idaproCur*) + echo "Trying TVHEADLESS IDA7" myidal=idat64 - echo "Trying TVHEADLESS IDA" - TVHEADLESS=1 LD_PRELOAD=$OVERRIDE_PLUGIN time ${IDAROOT}/$myidal -A -SSMP.idc -L${IDALOG} $STARS_OPTIONS -OSMPStaticAnalyzer:Reduced $STARS_ROOT_FILENAME > $STARS_ROOT_FILENAME.idaoutput 2>&1 - ;; + ;; *) echo Cannot determine idapro version: $IDAROOT exit 1 ;; - esac -else - LD_PRELOAD=$OVERRIDE_PLUGIN /usr/bin/time ${IDAROOT}/$myidal -A -SSMP.idc $STARS_OPTIONS $STARS_ROOT_FILENAME - grep "FATAL ERROR: Memory exhausted." ${STARS_ROOT_FILENAME}.log > /dev/null 2>/dev/null - res=$? - if [ $res = 0 ]; then - echo "OOM Failure detected -- trying reduced mode." - rm *.id? *.i64 ${STARS_ROOT_FILENAME}.log - LD_PRELOAD=$OVERRIDE_PLUGIN /usr/bin/time ${IDAROOT}/$myidal -A -SSMP.idc $STARS_OPTIONS -OSMPStaticAnalyzer:Reduced $STARS_ROOT_FILENAME - fi +esac - # SMP seems to mess up the terminal, using this to fix it. - /usr/bin/reset || true - stty $old_stty || true -fi +TVHEADLESS=1 time ${IDAROOT}/$myidal -A -SSMP.idc -L${IDALOG} $STARS_OPTIONS -OSMPStaticAnalyzer:Reduced $STARS_ROOT_FILENAME > $STARS_ROOT_FILENAME.idaoutput 2>&1 if [ -f $PEASOUP_HOME/tools/add_ifunc_attr.sh ]; then $PEASOUP_HOME/tools/add_ifunc_attr.sh ${STARS_ROOT_FILENAME} ${STARS_ROOT_FILENAME}.annot -- GitLab