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