From: Matthew Barr Date: Wed, 15 Mar 2017 02:27:18 +0000 (+1100) Subject: build: More robust temp file handling X-Git-Tag: v4.5.0^2~169 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4ad7359d69d0cf18eb03f6d8fcf6252540e0d8d;p=thirdparty%2Fvectorscan.git build: More robust temp file handling --- diff --git a/cmake/build_wrapper.sh b/cmake/build_wrapper.sh index 5baf209b..756d70e8 100755 --- a/cmake/build_wrapper.sh +++ b/cmake/build_wrapper.sh @@ -1,13 +1,18 @@ #!/bin/sh -e # This is used for renaming symbols for the fat runtime, don't call directly # TODO: make this a lot less fragile! +cleanup () { + rm -f ${SYMSFILE} ${KEEPSYMS} +} + PREFIX=$1 KEEPSYMS_IN=$2 shift 2 BUILD=$@ OUT=$(echo $BUILD | sed 's/.* -o \(.*\.o\).*/\1/') -SYMSFILE=/tmp/${PREFIX}_rename.syms.$$ -KEEPSYMS=/tmp/keep.syms.$$ +trap cleanup INT QUIT EXIT +SYMSFILE=$(mktemp --tmpdir ${PREFIX}_rename.syms.XXXXX) +KEEPSYMS=$(mktemp --tmpdir keep.syms.XXXXX) # grab the command without the target obj or src file flags # we don't just call gcc directly as there may be flags modifying the arch CC_CMD=$(echo $BUILD | sed 's/ -o .*\.o//;s/ -c //;s/ .[^ ]*\.c//;') @@ -24,4 +29,3 @@ if test -s ${SYMSFILE} then objcopy --redefine-syms=${SYMSFILE} ${OUT} fi -rm -f ${SYMSFILE} ${KEEPSYMS}