Re: find_typedef alternative that works on mainstream systems - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: find_typedef alternative that works on mainstream systems
Date
Msg-id 200801290142.m0T1gHw14260@momjian.us
Whole thread Raw
In response to Re: find_typedef alternative that works on mainstream systems  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
Alvaro Herrera wrote:
> Alvaro Herrera wrote:
> 
> > objdump  -W $object_file | \
> > awk '/DW_TAG_/ { grab=0 } /DW_TAG_typedef/ { grab=1 } /DW_AT_name/ { if (grab) { print $0 } }' | \
> > sed -e 's/^.*: \([^ ]*\)/\1/' | \
> > sort | \
> > uniq
> 
> I oversimplified the awk line, causing some garbage to appear at the end
> :-(  The full awk line I am using is 
> 
> awk '
> /^Contents of / { if (read) exit }
> /^The section / { if (read) exit }
> /^The section .debug_info contains:/ { read=1 }
> /DW_TAG_/ { grab=0 }
> /DW_TAG_typedef/ { grab=1 }
> /DW_AT_name/ { if (read && grab) { print $0 } }
> '

objdump errors on the -W option here (returns -1) so put some
conditional logic in tools/find_typedef and we should be fine.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://postgres.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Ron Mayer
Date:
Subject: Re: [PATCHES] Proposed patch: synchronized_scanning GUCvariable
Next
From: Joe Conway
Date:
Subject: Re: RFC: array_agg() per SQL:200n