Make 'sparsec' more robust against SIGSEGV in Sparse/LLVM code so that 'make check' detects test breakage. Cc: Christopher Li <sparse@xxxxxxxxxxx> Cc: Jeff Garzik <jgarzik@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx> --- sparsec | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/sparsec b/sparsec index 1e5c8bd..33e1a2b 100755 --- a/sparsec +++ b/sparsec @@ -2,6 +2,8 @@ # # GCC compatible C compiler based on Sparse LLVM +set +e + SPARSEOPTS="" DIRNAME=`dirname $0` @@ -27,9 +29,12 @@ while [ $# -gt 0 ]; do shift done +TMPLLVM=`mktemp -t tmp.XXXXXX`".llvm" TMPFILE=`mktemp -t tmp.XXXXXX`".o" -$DIRNAME/sparse-llvm $SPARSEOPTS | llc | as -o $TMPFILE +$DIRNAME/sparse-llvm $SPARSEOPTS > $TMPLLVM + +llc $TMPLLVM | as -o $TMPFILE if [ $NEED_LINK -eq 1 ]; then if [ -z $OUTFILE ]; then @@ -43,3 +48,5 @@ else fi mv $TMPFILE $OUTFILE fi + +rm -f $TMPLLVM -- 1.7.6.4 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html