On Thu, 16 Jun 2011 14:30:27 +0200, Radosław Smogura wrote:
Hello,
I'm sending following patch which disables optimization when
--enable-debug is passed. It was nasty (for me, at least) that debug
build required passing of CFLAGS with -O0 to get nice traceable code.
Regards,
Radek
Sorry for mess, this should be submited.
diff --git a/configure.in b/configure.in
old mode 100644
new mode 100755
index e6232af..47edf82
--- a/configure.in
+++ b/configure.in
@@ -194,10 +194,10 @@ PGAC_ARG_BOOL(enable, spinlocks, yes,
[do not use spinlocks])
#
-# --enable-debug adds -g to compiler flags
+# --enable-debug adds -g and (-O0) to compiler flags
#
PGAC_ARG_BOOL(enable, debug, no,
- [build with debugging symbols (-g)])
+ [build with debugging symbols (-g) and no optimization (-O0)])
AC_SUBST(enable_debug)
#
@@ -402,7 +402,7 @@ unset CFLAGS
# If the user specifies something in the environment, that is used.
# else: If the template file set something, that is used.
# else: If coverage was enabled, don't set anything.
-# else: If the compiler is GCC, then we use -O2.
+# else: If the compiler is GCC, then we use -O2, unless debug is passed.
# else: If the compiler is something else, then we use -O, unless debugging.
if test "$ac_env_CFLAGS_set" = set; then
@@ -412,7 +412,13 @@ elif test "${CFLAGS+set}" = set; then
elif test "$enable_coverage" = yes; then
: # no optimization by default
elif test "$GCC" = yes; then
- CFLAGS="-O2"
+ # if the user selected debug mode, use -O0, instead of nothing equivalent to
+ # (-O1)
+ if test "$enable_debug" == yes; then
+ CFLAGS="-O0"
+ else
+ CFLAGS="-O2"
+ fi
else
# if the user selected debug mode, don't use -O
if test "$enable_debug" != yes; then
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers