Skip to content
Snippets Groups Projects
Commit 36c9c968 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Add static finding script.

parent 4a132abf
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
trap "rm -f /tmp/$$" 0 1 2 3 15
# This script finds functions that are either never called, or
# should be static.
# Some functions, like library functions and debug_print functions,
# should remain unchanged.
# Run on a compiled source tree, from the top of the source tree
# My nm utility has 9 characters of address which I strip, then a 'type'
# character, with T as a text function, and U as an undefined function
# symbol, then the function name.
find . -name '[a-z]*.o' -type f -print | while read FILE
do
nm $FILE | cut -c10-100 |awk '{printf "%s\t%s\t%s\n", "'"$FILE"'",$1,$2}'
done >/tmp/$$
destroydb debug
createdb debug
echo "
create table debug (file text, scope char, func text);
copy debug from '/tmp/"$$"';
select *
into table debug2
from debug;
update debug2
set scope = '_'
from debug
where debug2.func = debug.func and
debug2.scope = 'T' and debug.scope = 'U';
delete from debug2
where scope = '_';
select *
from debug2
where scope = 'T';
" |psql debug
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment