blob: 80b595c9cec3009f98d44a4bd96e57529aefa77c [file] [log] [blame]
Jan Vesely8c8c2872017-09-29 19:06:481#!/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"
Jan Vesely136381dc2017-10-08 20:07:5627COUNT=$(wc -l < "$TMP_FILE")
Jan Vesely8c8c2872017-09-29 19:06:4828
Jan Vesely136381dc2017-10-08 20:07:5629if [ "$COUNT" -ne "0" ]; then
30 echo "ERROR: $COUNT unresolved calls detected in $FILE"
Jan Vesely8c8c2872017-09-29 19:06:4831 cat $TMP_FILE
32 ret=1
33else
34 echo "File $FILE is OK"
35fi
36exit $ret