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 $
11 # $DragonFly: src/tools/tools/kernxref/kernxref.sh,v 1.3 2004/03/20 16:27:41 drhodus Exp $
13 # This shellscript will make a cross reference of the symbols of the LINT
16 COMPILEDIR=/sys/compile
19 cd ${COMPILEDIR}/${KERNELNAME}
21 nm -gon `echo *.o /boot/kernel/*.ok \
23 | egrep -v '(aicasm|genassym)'` \
26 if (length($2) == 8) {
37 } else if ($2 == "T" || $2 == "D" || $2 == "A") {
42 } else if ($2 == "?") {
45 else if (def[$3] != "")
50 } else if ($2 == "C") {
53 else if (def[$3] == "")
63 printf "%s {%s} %s\n",i,def[i],ref[i]
70 if (length($3) == 0) {
71 printf "%-30s %3d %s\n\tUNREF\n",$1,0, $2
73 } else if ($2 == "{}") {
74 printf "%-30s %3d {UNDEF}\n",$1, NF-2
77 printf "%-30s %3d %s",$1,NF-2,$2
79 for (i = 3 ; i <= NF; i++) {
80 if (p+length ($i)+1 > 78) {
97 printf "Total symbols: %5d\n",N1+N2+N3
98 printf "unref symbols: %5d\n",N1
99 printf "undef symbols: %5d\n",N2
100 printf "1 ref symbols: %5d\n",N4
101 printf "2 ref symbols: %5d\n",N5