|
1 | 1 | #!/bin/sh
|
2 | 2 |
|
3 |
| -# $PostgreSQL: pgsql/src/tools/find_typedef,v 1.13 2009/06/10 15:13:45 momjian Exp $ |
| 3 | +# $PostgreSQL: pgsql/src/tools/find_typedef,v 1.14 2009/06/11 03:14:08 momjian Exp $ |
4 | 4 |
|
5 | 5 | # This script attempts to find all typedef's in the postgres binaries
|
6 | 6 | # by using 'nm' to report all typedef debugging symbols.
|
@@ -47,6 +47,11 @@ do# if objdump -W is recognized, only one line of error should appear
|
47 | 47 | objdump -W"$DIR"/*|
|
48 | 48 | egrep -A3'DW_TAG_typedef'|
|
49 | 49 | awk' $2 == "DW_AT_name" {print $NF}'
|
| 50 | +elif [`readelf -w2>&1| wc -l`-gt 1 ] |
| 51 | +then# FreeBSD, similar output to Linux |
| 52 | +readelf -w"$DIR"/*| |
| 53 | +egrep -A3'\(DW_TAG_typedef\)'| |
| 54 | +awk' $1 == "DW_AT_name" {print $NF}' |
50 | 55 | else# BSD/OS
|
51 | 56 | objdump --stabs"$DIR"/*|
|
52 | 57 | awk' $2 == "LSYM" && $7 ~ /:t/ {sub(":.*", "", $7); print $7}'
|
|