From: Nikodemus Siivola Date: Mon, 1 Aug 2011 12:05:54 +0000 (+0300) Subject: add -fno-omit-frame-pointer to x86 builds X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=913cf0ccd5c119e278ce057d724d478123d4ca26;p=sbcl.git add -fno-omit-frame-pointer to x86 builds GCC >= 4.6 omits it by default, leading to broken backtraces. --- diff --git a/NEWS b/NEWS index 79d55ee..8507a73 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ changes relative to sbcl-1.0.50: or removed. * bug fix: fixed-format floating point printing with scaling factors. (lp#811386) + * bug fix: using GCC >= 4.6 to build SBCL on x86 no longer breaks + backtraces. (lp#818460) changes in sbcl-1.0.50 relative to sbcl-1.0.49: * enhancement: errors from FD handlers now provide a restart to remove diff --git a/src/runtime/Config.x86-darwin b/src/runtime/Config.x86-darwin index c1a3eb7..df53b0c 100644 --- a/src/runtime/Config.x86-darwin +++ b/src/runtime/Config.x86-darwin @@ -9,7 +9,7 @@ # provided with absolutely no warranty. See the COPYING and CREDITS # files for more information. -CFLAGS = -arch i386 -g -Wall -O2 -fdollars-in-identifiers +CFLAGS = -arch i386 -g -Wall -O2 -fdollars-in-identifiers -fno-omit-frame-pointer LINKFLAGS += -arch i386 ifdef LISP_FEATURE_DARWIN9_OR_BETTER CFLAGS += -mmacosx-version-min=10.5 diff --git a/src/runtime/Config.x86-freebsd b/src/runtime/Config.x86-freebsd index a7533b6..a30afdc 100644 --- a/src/runtime/Config.x86-freebsd +++ b/src/runtime/Config.x86-freebsd @@ -24,3 +24,5 @@ ifdef LISP_FEATURE_SB_THREAD #OS_LIBS += -lpthread OS_LIBS += -lthr endif + +CFLAGS += -fno-omit-frame-pointer diff --git a/src/runtime/Config.x86-linux b/src/runtime/Config.x86-linux index 4b5f99e..cabbf71 100644 --- a/src/runtime/Config.x86-linux +++ b/src/runtime/Config.x86-linux @@ -33,7 +33,7 @@ OS_LIBS = -ldl ifdef LISP_FEATURE_LARGEFILE CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 endif -CFLAGS += -m32 +CFLAGS += -m32 -fno-omit-frame-pointer ifdef LISP_FEATURE_SB_THREAD OS_LIBS += -lpthread diff --git a/src/runtime/Config.x86-netbsd b/src/runtime/Config.x86-netbsd index cd3782c..b101bd1 100644 --- a/src/runtime/Config.x86-netbsd +++ b/src/runtime/Config.x86-netbsd @@ -15,4 +15,4 @@ ASSEM_SRC += ldso-stubs.S OS_SRC += undefineds.c LINKFLAGS += -dynamic -export-dynamic -CFLAGS = -g -Wall -O2 +CFLAGS = -g -Wall -O2 -fno-omit-frame-pointer diff --git a/src/runtime/Config.x86-openbsd b/src/runtime/Config.x86-openbsd index b55c794..144cc2b 100644 --- a/src/runtime/Config.x86-openbsd +++ b/src/runtime/Config.x86-openbsd @@ -25,4 +25,4 @@ OS_LIBS += -lutil LINKFLAGS += -export-dynamic LDFLAGS += -export-dynamic -CFLAGS = -g -Wall -O2 +CFLAGS = -g -Wall -O2 -fno-omit-frame-pointer diff --git a/src/runtime/Config.x86-sunos b/src/runtime/Config.x86-sunos index 2e58b51..1367565 100644 --- a/src/runtime/Config.x86-sunos +++ b/src/runtime/Config.x86-sunos @@ -1,5 +1,16 @@ +# -*- makefile -*- for the C-level run-time support for SBCL + +# This software is part of the SBCL system. See the README file for +# more information. +# +# This software is derived from the CMU CL system, which was +# written at Carnegie Mellon University and released into the +# public domain. The software is in the public domain and is +# provided with absolutely no warranty. See the COPYING and CREDITS +# files for more information. + CC=gcc -CFLAGS = -g -O2 -Wall -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DSVR4 -D_REENTRANT +CFLAGS = -g -O2 -Wall -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DSVR4 -D_REENTRANT -fno-omit-frame-pointer ASFLAGS = -Wall LD = ld NM = nm -xgp diff --git a/src/runtime/Config.x86-win32 b/src/runtime/Config.x86-win32 index 6c77482..beee35b 100644 --- a/src/runtime/Config.x86-win32 +++ b/src/runtime/Config.x86-win32 @@ -1,3 +1,5 @@ +# -*- makefile -*- for the C-level run-time support for SBCL + # This software is part of the SBCL system. See the README file for # more information. # @@ -30,7 +32,7 @@ OS_LIBS = GC_SRC = gencgc.c -CFLAGS = -g -Wall -O3 +CFLAGS = -g -Wall -O3 -fno-omit-frame-pointer ASFLAGS = $(CFLAGS) CPP = cpp