1#!/bin/sh 2 3FILE=$1 4if [ ! -f $FILE ]; then 5 echo "ERROR: Not a file: $FILE" 6 exit 3 7fi 8ret=0 9if [ "x$LLVM_CONFIG" = "x" ]; then 10 LLVM_CONFIG=llvm-config 11 echo 'WARNING: $LLVM_CONFIG not set, falling back to $PATH llvm-config' 12 ret=2 13fi 14 15 16BIN_DIR=$($LLVM_CONFIG --bindir) 17DIS="$BIN_DIR/llvm-dis" 18if [ ! -x $DIS ]; then 19 echo "ERROR: Disassembler '$DIS' is not executable" 20 exit 3 21fi 22 23TMP_FILE=$(mktemp) 24 25# Check for calls. Calls to llvm intrinsics are OK 26$DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE" 27COUNT=$(wc -l < "$TMP_FILE") 28 29if [ "$COUNT" -ne "0" ]; then 30 echo "ERROR: $COUNT unresolved calls detected in $FILE" 31 cat $TMP_FILE 32 ret=1 33else 34 echo "File $FILE is OK" 35fi 36exit $ret 37