1:
2:
3:
4:
5:
6:
7:
8:
9: if [ "x$1" = "x-m" ]; then
10: machine=$2
11: shift 2
12: else
13: machine=`uname -m`
14: fi
15: if [ -z "$1" ]; then
16: for f in `find . -name op.o`; do
17: /bin/sh "$0" -m $machine $f
18: done
19: exit 0
20: fi
21:
22: case $machine in
23: i?86)
24: ret='\tret'
25: ;;
26: x86_64)
27: ret='\tretq'
28: ;;
29: arm)
30: ret='\tldm.*pc'
31: ;;
32: ppc* | powerpc*)
33: ret='\tblr'
34: ;;
35: mips*)
36: ret='\tjr.*ra'
37: ;;
38: s390*)
39: ret='\tbr.*'
40: ;;
41: *)
42: echo "Unknown machine `uname -m`"
43: ;;
44: esac
45: echo $1
46:
47: ${CROSS}objdump -dr $1 | \
48: sed -e '/>:$\|'"$ret"'/!d' -e 's/.*<\(.*\)>:/~\1:/' -e 's/.*'"$ret"'.*/!/' | \
49: sed -e ':1;N;s/\n//;t1' | sed -e 's/~/\n/g' | grep -v '^op_exit_tb' | \
50: grep '^op_.*!!'