mirror of https://github.com/postgres/postgres
parent
4a132abf6c
commit
36c9c968c0
@ -0,0 +1,43 @@ |
||||
#!/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 |
||||
|
Loading…
Reference in new issue