Re: [BUGS] solaris non gcc compiler debug options

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [BUGS] solaris non gcc compiler debug options
Date: 2004-12-02 18:11:03
Message-ID: 200412021811.iB2IB3502118@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-patches


OK, I see now. I backed out my previous patch and did one so Solaris
has no optimization for debug. Patch attached.

---------------------------------------------------------------------------

Kris Jurka wrote:
>
>
> On Sat, 27 Nov 2004, Bruce Momjian wrote:
>
> > Kris Jurka wrote:
> > >
> > > Compiling on solaris with a non gcc compiler does not correctly enable
> > > debugging when --enable-debug is specified. src/template/solaris is
> > > specifying CFLAGS="-O -v" and -O overrides the -g that --enable-debug
> > > adds.
> >
> > Good point. Our template files should be _adding_ to CFLAGS and
> > CPPFLAGS, not overriding them. Later optimization flags on the
> > command line override earlier ones, so this patch should fix the
> > problem, and it exists in a few platforms. Applied.
> >
>
> I don't believe you've fixed an actual problem. Manually set CFLAGS are
> already accounted for in configure.in (line 234) here:
>
> # CFLAGS are selected so:
> # If the user specifies something in the environment, that is used.
> # else: If the template file set something, that is used.
> # else: If the compiler is GCC, then we use -O2.
> # else: If the compiler is something else, then we use -0.
>
> if test "$ac_env_CFLAGS_set" = set; then
> CFLAGS=$ac_env_CFLAGS_value
> elif test "${CFLAGS+set}" = set; then
> : # (keep what template set)
> elif test "$GCC" = yes; then
> CFLAGS="-O2"
> else
> # if the user selected debug mode, don't use -O
> if test "$enable_debug" != yes; then
> CFLAGS="-O"
> fi
> fi
>
> It seems the test at the end of this (enable_debug != yes) needs to be
> added to the solaris template instead of unconditionally adding -O to
> CFLAGS. I was trying to debug a problem and --enable-debug wasn't really
> helping until I took -O out of this src/template/solaris line. The man
> page isn't particularly clear on what "best-effort" is, but it wasn't good
> enough for me.
>
> If you issue -g, and the optimization level is -x03 or
> lower, the compiler provides best-effort symbolic
> information with almost full optimization. Tail-call
> optimization and back-end inlining are disabled.
>
> Kris Jurka
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Attachment Content-Type Size
unknown_filename text/plain 5.0 KB

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2004-12-02 19:39:12 Re: [pgsql-hackers-win32] PLTCL
Previous Message Kenneth Marshall 2004-12-02 17:18:02 pg_autovacuum getopt bun in 8.0.0beta5

Browse pgsql-patches by date

  From Date Subject
Next Message Rod Taylor 2004-12-02 20:07:08 Re: [PATCHES] plperl Safe restrictions
Previous Message Bruce Momjian 2004-12-02 16:08:20 Re: libpq and psql not on same page about SIGPIPE