]> granicus.if.org Git - postgresql/blob - src/tools/find_typedef
Update find_typedefs for bsdi 4.0.
[postgresql] / src / tools / find_typedef
1 #!/bin/sh
2 # This script attempts to find all typedef's in the postgres binaries
3 # by using 'nm' to report all typedef debugging symbols.
4
5 # For this program to work, you must have compiled all binaries with 
6 # debugging symbols.
7 #
8 # This is run on BSD/OS 4.0, so you may need to make changes.
9
10 # Ignore the nm errors about a file not being a binary file.
11 #
12 # Remember, debugging symbols are your friends.
13 #
14
15 if [ "$#" -ne 1 -o ! -d "$1" ]
16 then    echo "Usage:  $0 postgres_binary_directory" 1>&2
17         exit 1
18 fi
19
20 objdump --stabs "$1"/* |
21 grep "LSYM" |
22 awk '{print $7}' |
23 grep ':t' |
24 sed 's/^\([^:]*\).*$/\1/' |
25 grep -v ' ' | # some typedefs have spaces, remove them
26 sort |
27 uniq
28