diff options
| author | Jan Vesely <jan.vesely@rutgers.edu> | 2017-09-29 19:06:48 +0000 |
|---|---|---|
| committer | Jan Vesely <jan.vesely@rutgers.edu> | 2017-09-29 19:06:48 +0000 |
| commit | 8c8c287adf20f4c03ab4a92f899bdc9be80cc510 (patch) | |
| tree | a8bbc96cece861fb08fe8a375cab8acef543fd3a | |
| parent | 41b1500db092a1c3483071edcc817265415939bb (diff) | |
| download | bcm5719-llvm-8c8c287adf20f4c03ab4a92f899bdc9be80cc510.tar.gz bcm5719-llvm-8c8c287adf20f4c03ab4a92f899bdc9be80cc510.zip | |
Add script to check for unresolved function calls
v2: add shell shebang
improve error checks and reporting
v3: fix typo
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 314546
| -rwxr-xr-x | libclc/check_external_calls.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libclc/check_external_calls.sh b/libclc/check_external_calls.sh new file mode 100755 index 00000000000..ad1d8c26150 --- /dev/null +++ b/libclc/check_external_calls.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +FILE=$1 +if [ ! -f $FILE ]; then + echo "ERROR: Not a file: $FILE" + exit 3 +fi +ret=0 +if [ "x$LLVM_CONFIG" = "x" ]; then + LLVM_CONFIG=llvm-config + echo 'WARNING: $LLVM_CONFIG not set, falling back to $PATH llvm-config' + ret=2 +fi + + +BIN_DIR=$($LLVM_CONFIG --bindir) +DIS="$BIN_DIR/llvm-dis" +if [ ! -x $DIS ]; then + echo "ERROR: Disassembler '$DIS' is not executable" + exit 3 +fi + +TMP_FILE=$(mktemp) + +# Check for calls. Calls to llvm intrinsics are OK +$DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE" + +if [ $(wc -l < "$TMP_FILE") -ne "0" ]; then + echo "ERROR: unresolved calls detected" + cat $TMP_FILE + ret=1 +else + echo "File $FILE is OK" +fi +exit $ret |

