summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/kernelcruft/kernelcruft.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/tools/kernelcruft/kernelcruft.sh b/tools/tools/kernelcruft/kernelcruft.sh
new file mode 100644
index 0000000..87288c5
--- /dev/null
+++ b/tools/tools/kernelcruft/kernelcruft.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# kernelcruft.sh
+#
+# Try to find *.c files in /sys which are orphaned
+#
+# $FreeBSD$
+
+cd /sys/conf
+cat files* | sed '
+/^[ ]*#/d
+s/[ ].*//
+/^$/d
+' | sort -u > /tmp/_0
+
+cd /sys
+find * -name '*.c' -print | sed '
+/\/compile\//d
+/^boot/d
+' | sort -u > /tmp/_1
+
+find * -name '*.[ch]' -print | xargs grep 'include.*c[>"]' > /tmp/_2
+
+find * -name 'Makefile*' -print | xargs cat | sed '
+/^ /d
+s/:.*//
+/^[ ]*$/d
+' > /tmp/_3
+
+comm -13 /tmp/_0 /tmp/_1 | while read f
+do
+ b=`basename $f`
+ if grep $b /tmp/_2 > /dev/null ; then
+ # echo "2 $f"
+ continue
+ fi
+ if grep $b /tmp/_3 > /dev/null ; then
+ # echo "3 $f"
+ continue
+ fi
+ echo $f
+done
+
OpenPOWER on IntegriCloud