31 lines · bash
1#!/bin/sh2 3FILE=$14BIN_DIR=$25if [ ! -f $FILE ]; then6 echo "ERROR: Not a file: $FILE"7 exit 38fi9ret=010 11DIS="$BIN_DIR/llvm-dis"12if [ ! -x $DIS ]; then13 echo "ERROR: Disassembler '$DIS' is not executable"14 exit 315fi16 17TMP_FILE=$(mktemp)18 19# Check for external functions. Calls to llvm intrinsics are OK20$DIS < $FILE | grep '^[[:space:]]*declare ' | grep -v '@llvm' > "$TMP_FILE"21COUNT=$(wc -l < "$TMP_FILE")22 23if [ "$COUNT" -ne "0" ]; then24 echo "ERROR: $COUNT unresolved external functions detected in $FILE"25 cat $TMP_FILE26 ret=127else28 echo "File $FILE is OK"29fi30exit $ret31