Re: [BUGS] solaris non gcc compiler debug options
От | Kris Jurka |
---|---|
Тема | Re: [BUGS] solaris non gcc compiler debug options |
Дата | |
Msg-id | Pine.BSO.4.56.0411281645120.27887@leary.csoft.net обсуждение исходный текст |
Ответ на | Re: [BUGS] solaris non gcc compiler debug options (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: [BUGS] solaris non gcc compiler debug options
|
Список | pgsql-patches |
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
В списке pgsql-patches по дате отправления: