| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | NikhilS <nikkhils(at)gmail(dot)com> | 
| Cc: | "Gavin Sherry" <swm(at)alcove(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: --enable-debug does not work with gcc | 
| Date: | 2007-02-02 15:23:05 | 
| Message-ID: | 15034.1170429785@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
NikhilS <nikkhils(at)gmail(dot)com> writes:
> True, this is how I myself circumvent this problem too. But IMHO,
> explicitly passing CFLAGS when we are invoking --enable-debug (which does
> add -g, but leaves some optimization flag around which deters debugging)
> does not seem correct?
If we did what you suggest, then --enable-debug would cause performance
degradation, which would cause people to not use it, which would result
in most binaries being completely undebuggable rather than only partially.
Doesn't sound like a good tradeoff to me.
Personally, in my development tree I use a Makefile.custom containing
# back off optimization unless profiling
ifeq ($(PROFILE),)
   CFLAGS:= $(patsubst -O2,-O1,$(CFLAGS))
endif
-O1 still generates "uninitialized variable" warnings but the code is a
lot saner to step through ... not perfect, but saner.  It's been a
workable compromise for a long time.  I don't recommend developing with
-O0, exactly because it disables some mighty valuable warnings.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Neil Conway | 2007-02-02 15:54:44 | Re: Enums patch v2 | 
| Previous Message | Tom Lane | 2007-02-02 14:52:08 | Re: Function proposal to find the type of a datum |