Re: Patch - Debug builds without optimization

Radosław Smogura <rsmogura@softperience.eu>

From: Radosław Smogura <rsmogura@softperience.eu>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-16T21:13:08Z
Lists: pgsql-hackers
 On Thu, 16 Jun 2011 16:00:21 -0400, Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> I disagree with this change.  Debug builds are very useful to have 
>> in
>> production, and you don't want to be running -O0 there.  I have 
>> found
>> that you can use a src/Makefile.custom like this for those times 
>> when you
>> want to debug stuff in a particular set of files:
>
>> CFLAGS := $(patsubst -O2,-O0,$(CFLAGS))
>
>> Then you remove the .o files that you want to debug, and rerun make.
>
> FWIW, I only use Makefile.custom for more-or-less-permanent changes 
> to
> the build behavior of a particular machine.  For one-shot things like
> recompiling some particular file(s) at -O0, it's easier to do this:
>
> 	rm foo.o
> 	make PROFILE=-O0
> 	reinstall postgres executable
>
> The makefiles automatically add PROFILE at the end of CFLAGS, so you 
> can
> inject any compile flag this way --- I think the original intent was 
> to
> use it to add -pg for gprof-enabled builds.  But it's handy for this.
>
> BTW, if you're hacking Postgres code and don't already have a
> "reinstall" script, you need one.  Mine is basically
>
> 	pg_ctl stop
> 	cd $PGBLDROOT/src/backend
> 	make install-bin
> 	pg_ctl start
>
> 			regards, tom lane
 Thanks,

 Actually I do something like above, but good to know "install-bin" 
 target, I fired before "gmake -j5 install".

 Regards,
 Radek