OSDN Git Service

android: Moving libFuzzer from LLVM to compiler-rt.
[android-x86/external-llvm-project.git] / libclc / check_external_calls.sh
1 #!/bin/sh
2
3 FILE=$1
4 if [ ! -f $FILE ]; then
5         echo "ERROR: Not a file: $FILE"
6         exit 3
7 fi
8 ret=0
9 if [ "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
13 fi
14
15
16 BIN_DIR=$($LLVM_CONFIG --bindir)
17 DIS="$BIN_DIR/llvm-dis"
18 if [ ! -x $DIS ]; then
19         echo "ERROR: Disassembler '$DIS' is not executable"
20         exit 3
21 fi
22
23 TMP_FILE=$(mktemp)
24
25 # Check for calls. Calls to llvm intrinsics are OK
26 $DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE"
27 COUNT=$(wc -l < "$TMP_FILE")
28
29 if [ "$COUNT" -ne "0" ]; then
30         echo "ERROR: $COUNT unresolved calls detected in $FILE"
31         cat $TMP_FILE
32         ret=1
33 else
34         echo "File $FILE is OK"
35 fi
36 exit $ret