Initial commit - initial revisions of scripts
[globsym.git] / extract_global_symbols.sh
1 #!/bin/zsh
2
3 cat <<EOF
4 CREATE TABLE global_symbols   ( symbol TEXT PRIMARY KEY,
5 dir TEXT,
6 file TEXT);
7 EOF
8
9 for i in $(find -name '*.dwo' -a ! -name '*built-in*' -a ! -wholename '*/drivers/*' -a ! -wholename '*/lib/*' ) ; do
10         if [[ ! -e ${i/%.dwo/.mod.c} ]]; then
11                 for symbol in $(nm ${i/%.dwo/.o} | awk '$2 == "T" { print $3; }') ; do
12                 echo "INSERT INTO global_symbols (symbol,dir,file) VALUES ('${symbol}', '${$(dirname $i)#\.\/}', '$(basename $i .dwo).c');"
13                 done
14         fi
15 done