3 # ----------------------------------------------------------------------------
4 # "THE BEER-WARE LICENSE" (Revision 42):
5 # <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
6 # can do whatever you want with this stuff. If we meet some day, and you think
7 # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
8 # ----------------------------------------------------------------------------
10 # $FreeBSD: src/tools/tools/kernxref/kernxref.sh,v 1.13 1999/08/28 00:54:30 peter Exp $
12 # This shellscript will make a cross reference of the symbols of the LINT
15 COMPILEDIR=/sys/compile
18 cd ${COMPILEDIR}/${KERNELNAME}
19 if file vers.o | grep -q ELF; then
25 OBJFORMAT=${OBJFORMAT} nm -gon `echo *.o /modules/*.ko \
27 | egrep -v '(aicasm|genassym)'` \
30 if (length($2) == 8) {
41 } else if ($2 == "T" || $2 == "D" || $2 == "A") {
46 } else if ($2 == "?") {
49 else if (def[$3] != "")
54 } else if ($2 == "C") {
57 else if (def[$3] == "")
67 printf "%s {%s} %s\n",i,def[i],ref[i]
74 if (length($3) == 0) {
75 printf "%-30s %3d %s\n\tUNREF\n",$1,0, $2
77 } else if ($2 == "{}") {
78 printf "%-30s %3d {UNDEF}\n",$1, NF-2
81 printf "%-30s %3d %s",$1,NF-2,$2
83 for (i = 3 ; i <= NF; i++) {
84 if (p+length ($i)+1 > 78) {
101 printf "Total symbols: %5d\n",N1+N2+N3
102 printf "unref symbols: %5d\n",N1
103 printf "undef symbols: %5d\n",N2
104 printf "1 ref symbols: %5d\n",N4
105 printf "2 ref symbols: %5d\n",N5