blob: 25792e249d6b665671e4da5ffd987bcee3169175 [file] [log] [blame]
Jan Vesely8c8c2872017-09-29 19:06:48 +00001#!/bin/sh
2
3FILE=$1
Tom Stellardb2647872022-11-22 22:56:55 -08004BIN_DIR=$2
Jan Vesely8c8c2872017-09-29 19:06:48 +00005if [ ! -f $FILE ]; then
Fraser Cormack92539502024-03-18 14:37:04 +00006 echo "ERROR: Not a file: $FILE"
7 exit 3
Jan Vesely8c8c2872017-09-29 19:06:48 +00008fi
9ret=0
Jan Vesely8c8c2872017-09-29 19:06:48 +000010
Jan Vesely8c8c2872017-09-29 19:06:48 +000011DIS="$BIN_DIR/llvm-dis"
12if [ ! -x $DIS ]; then
Fraser Cormack92539502024-03-18 14:37:04 +000013 echo "ERROR: Disassembler '$DIS' is not executable"
14 exit 3
Jan Vesely8c8c2872017-09-29 19:06:48 +000015fi
16
17TMP_FILE=$(mktemp)
18
19# Check for calls. Calls to llvm intrinsics are OK
20$DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE"
Jan Vesely136381dc2017-10-08 20:07:56 +000021COUNT=$(wc -l < "$TMP_FILE")
Jan Vesely8c8c2872017-09-29 19:06:48 +000022
Jan Vesely136381dc2017-10-08 20:07:56 +000023if [ "$COUNT" -ne "0" ]; then
Fraser Cormack92539502024-03-18 14:37:04 +000024 echo "ERROR: $COUNT unresolved calls detected in $FILE"
25 cat $TMP_FILE
26 ret=1
Jan Vesely8c8c2872017-09-29 19:06:48 +000027else
Fraser Cormack92539502024-03-18 14:37:04 +000028 echo "File $FILE is OK"
Jan Vesely8c8c2872017-09-29 19:06:48 +000029fi
30exit $ret