aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2009-06-11 03:14:08 +0000
committerBruce Momjian <bruce@momjian.us>2009-06-11 03:14:08 +0000
commit4e86efb4e51b66ef57b3fe6f28576de23a1bf1c6 (patch)
tree0d33eba9fa7eba4370d78bc20cf65ab5e3d1e7a5 /src
parent0b7b908882b18c6b1c34bb9e386c4f2fdb21f0db (diff)
downloadpostgresql-4e86efb4e51b66ef57b3fe6f28576de23a1bf1c6.tar.gz
postgresql-4e86efb4e51b66ef57b3fe6f28576de23a1bf1c6.zip
Add FreeBSD support for find_typedef, per request from Andrew.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/tools/find_typedef7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/tools/find_typedef b/src/tools/find_typedef
index 5ce2d1f23b1..0474245ba69 100755
--- a/src/tools/find_typedef
+++ b/src/tools/find_typedef
@@ -1,6 +1,6 @@
#!/bin/sh
-# $PostgreSQL: pgsql/src/tools/find_typedef,v 1.13 2009/06/10 15:13:45 momjian Exp $
+# $PostgreSQL: pgsql/src/tools/find_typedef,v 1.14 2009/06/11 03:14:08 momjian Exp $
# This script attempts to find all typedef's in the postgres binaries
# 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
objdump -W "$DIR"/* |
egrep -A3 'DW_TAG_typedef' |
awk ' $2 == "DW_AT_name" {print $NF}'
+ elif [ `readelf -w 2>&1 | wc -l` -gt 1 ]
+ then # FreeBSD, similar output to Linux
+ readelf -w "$DIR"/* |
+ egrep -A3 '\(DW_TAG_typedef\)' |
+ awk ' $1 == "DW_AT_name" {print $NF}'
else # BSD/OS
objdump --stabs "$DIR"/* |
awk ' $2 == "LSYM" && $7 ~ /:t/ {sub(":.*", "", $7); print $7}'