fi
#EXEC_PREFIX="qemu-arm"
#ECC="/ben/beck/ipd/bin/eccp -march=arm -bra-chordal-co-algo=heur"
-ECC_CFLAGS="${ADDCFLAGS} -v -O3 -D__builtin_memcpy=memcpy -D__builtin_memset=memset -D__builtin_strlen=strlen -D__builtin_strcpy=strcpy -D__builtin_strcmp=strcmp -DNO_TRAMPOLINES -ffp-strict"
-GCC="icc"
+ECC_CFLAGS="${ADDCFLAGS} -v -O3 -ffp-strict"
+GCC="icc -restrict"
GCC_CFLAGS="-O0 -Itcc -fp-model precise"
LINKFLAGS="-lm"
TIMEOUT_COMPILE=300
TIMEOUT_RUN=30
+ECC_LINK="gcc -m32"
CFILES="*.c"
OUTPUTDIR="stats-`date +%y.%m.%d`"
__END__
# so endless apps stop at some point...
-#ulimit -t2
+#ulimit -t 2
basedir=`pwd`
-DIRS=". langshootout ack gcc-testsuite gcc-testsuite/ieee"
-test -n "$1" && DIRS="$1"
+if [ -z "$1" ]; then
+ DIRS=". langshootout ack"
+else
+ for f in "$@"; do
+ if test -d "$f"; then
+ DIRS="$DIRS $f"
+ else
+ FILES="$FILES $f"
+ fi
+ done
+fi
+for d in $DIRS; do
+ for f in $d/*.c; do
+ FILES="$FILES $f"
+ done
+done
-for dir in $DIRS; do
- curdir=$basedir/$dir
- echo "<section name=\"$curdir/\">" >> $XMLRES
-for file in $curdir/$CFILES; do
+for file in $FILES; do
+ curdir="`dirname $file`"
COMPILE_RES="ok"
LINK_RES="omitted"
GCC_RES="ok"
echo -n "Building $name"
echo "Results for $name" > $res
echo "*** ECC/FIRM Compile" >> $res
- CMD="ulimit -t${TIMEOUT_COMPILE} ; ${ECC} -c -o ${obj_name} ${ECC_CFLAGS} ${FILE_FLAGS} ${file}"
+ CMD="ulimit -t ${TIMEOUT_COMPILE} ; ${ECC} -c -o ${obj_name} ${ECC_CFLAGS} ${FILE_FLAGS} ${file}"
echo "$CMD" >> $res
- /bin/bash -c "$CMD" >> $res 2>&1 || { COMPILE_RES="failed"; echo -n " ... FAILED"; }
+ /bin/sh -c "$CMD" >> $res 2>&1 || { COMPILE_RES="failed"; echo -n " ... FAILED"; }
- if [ ${COMPILE_RES} == "ok" ]; then
+ if [ ${COMPILE_RES} = "ok" ]; then
LINK_RES="ok"
echo "*** Linking" >> $res
- CMD="${ECC} $obj_name ${LINKFLAGS} -o build_firm/$name.exe"
+ CMD="${ECC_LINK} $obj_name ${LINKFLAGS} -o build_firm/$name.exe"
echo "$CMD" >> $res
$CMD >> $res 2>&1 || { LINK_RES="failed"; echo -n " ... FAILED"; }
fi
echo "*** GCC Compile" >> $res
- CMD="${GCC} ${GCC_CFLAGS} ${FILE_FLAGS} $file ${LINKFLAGS} -o build_gcc/$name.exe"
+ CMD="${GCC} ${GCC_CFLAGS} ${FILE_FLAGS} $file ${LINKFLAGS} -o build_gcc/$name.exe"
echo "$CMD" >> $res
- $CMD >> $res 2>&1 || GCC_RES="failed"
+ /bin/sh -c "$CMD" >> $res 2>&1 || { GCC_RES="failed"; echo -n " ... FAILED"; }
if [ ${GCC_RES} = "ok" ]; then
GCC_RUN_RES="ok"
echo "*** Run GCC" >> $res
- CMD="ulimit -t${TIMEOUT_RUN} ; build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
+ CMD="ulimit -t ${TIMEOUT_RUN} ; build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
echo "$CMD" >> $res
- /bin/bash -c "$CMD" > $OUTPUTDIR/result_gcc_$name.txt 2>&1 || GCC_RUN_RES="failed"
+ /bin/sh -c "$CMD" > $OUTPUTDIR/result_gcc_$name.txt 2>&1 || GCC_RUN_RES="failed"
fi
if [ ${LINK_RES} = "ok" ]; then
FIRM_RUN_RES="ok"
echo "*** Run Firm" >> $res
- CMD="ulimit -t${TIMEOUT_RUN} ; ${EXEC_PREFIX} build_firm/$name.exe > $OUTPUTDIR/result_firm_$name.txt 2>&1"
+ CMD="ulimit -t ${TIMEOUT_RUN} ; ${EXEC_PREFIX} build_firm/$name.exe > $OUTPUTDIR/result_firm_$name.txt 2>&1"
echo "$CMD" >> $res
- /bin/bash -c "$CMD" > $OUTPUTDIR/result_firm_$name.txt 2>&1 || { FIRM_RUN_RES="failed"; echo -n " ... FAILED"; }
+ /bin/sh -c "$CMD" > $OUTPUTDIR/result_firm_$name.txt 2>&1 || { FIRM_RUN_RES="failed"; echo -n " ... FAILED"; }
fi
if [ ${GCC_RUN_RES} = "ok" -a ${FIRM_RUN_RES} = "ok" ]; then
<diff>$DIFF_RES</diff>
</result>
__END__
-done
- echo "</section>" >> $XMLRES
done
echo "</results>" >> $XMLRES