Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 1 | #!/bin/sh |
2 | |||||
3 | FILE=$1 | ||||
Tom Stellard | b264787 | 2022-11-23 06:56:55 | [diff] [blame] | 4 | BIN_DIR=$2 |
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 5 | if [ ! -f $FILE ]; then |
Fraser Cormack | 9253950 | 2024-03-18 14:37:04 | [diff] [blame] | 6 | echo "ERROR: Not a file: $FILE" |
7 | exit 3 | ||||
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 8 | fi |
9 | ret=0 | ||||
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 10 | |
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 11 | DIS="$BIN_DIR/llvm-dis" |
12 | if [ ! -x $DIS ]; then | ||||
Fraser Cormack | 9253950 | 2024-03-18 14:37:04 | [diff] [blame] | 13 | echo "ERROR: Disassembler '$DIS' is not executable" |
14 | exit 3 | ||||
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 15 | fi |
16 | |||||
17 | TMP_FILE=$(mktemp) | ||||
18 | |||||
19 | # Check for calls. Calls to llvm intrinsics are OK | ||||
20 | $DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE" | ||||
Jan Vesely | 136381dc | 2017-10-08 20:07:56 | [diff] [blame] | 21 | COUNT=$(wc -l < "$TMP_FILE") |
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 22 | |
Jan Vesely | 136381dc | 2017-10-08 20:07:56 | [diff] [blame] | 23 | if [ "$COUNT" -ne "0" ]; then |
Fraser Cormack | 9253950 | 2024-03-18 14:37:04 | [diff] [blame] | 24 | echo "ERROR: $COUNT unresolved calls detected in $FILE" |
25 | cat $TMP_FILE | ||||
26 | ret=1 | ||||
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 27 | else |
Fraser Cormack | 9253950 | 2024-03-18 14:37:04 | [diff] [blame] | 28 | echo "File $FILE is OK" |
Jan Vesely | 8c8c287 | 2017-09-29 19:06:48 | [diff] [blame] | 29 | fi |
30 | exit $ret |