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 LINT64
15 COMPILEDIR=/sys/compile
18 cd ${COMPILEDIR}/${KERNELNAME}
20 nm -gon `echo *.o /boot/kernel/*.ok \
22 | egrep -v '(genassym)'` \
25 if (length($2) == 8) {
36 } else if ($2 == "T" || $2 == "D" || $2 == "A") {
41 } else if ($2 == "?") {
44 else if (def[$3] != "")
49 } else if ($2 == "C") {
52 else if (def[$3] == "")
62 printf "%s {%s} %s\n",i,def[i],ref[i]
69 if (length($3) == 0) {
70 printf "%-30s %3d %s\n\tUNREF\n",$1,0, $2
72 } else if ($2 == "{}") {
73 printf "%-30s %3d {UNDEF}\n",$1, NF-2
76 printf "%-30s %3d %s",$1,NF-2,$2
78 for (i = 3 ; i <= NF; i++) {
79 if (p+length ($i)+1 > 78) {
96 printf "Total symbols: %5d\n",N1+N2+N3
97 printf "unref symbols: %5d\n",N1
98 printf "undef symbols: %5d\n",N2
99 printf "1 ref symbols: %5d\n",N4
100 printf "2 ref symbols: %5d\n",N5