3 # src/tools/find_static
5 trap "ret=$?; rm -rf /tmp/$$; exit $ret" 0 1 2 3 15
7 # This script finds functions that are either never called, or
9 # Some functions, like library functions and debug_print functions,
10 # should remain unchanged.
12 # Run on a compiled source tree, from the top of the source tree
14 # My nm utility has 9 characters of address which I strip, then a 'type'
15 # character, with T as a text function, and U as an undefined function
16 # symbol, then the function name.
18 find .
-name '[a-z]*.o' -type f
-print |
while read FILE
19 do nm
$FILE | cut
-c17-100 |
awk '{printf "%s\t%s\t%s\n", "'"$FILE"'",$1,$2}'
24 create table debug (file text, scope char, func text);
26 copy debug from '/tmp/"$$
"';
32 create index idebug on debug(scope,func);
33 create index idebug2 on debug2(func,scope);
40 where debug2.func = debug.func and
41 debug2.scope = 'T' and debug.scope = 'U';
48 where scope = 'T' and func != 'main'