From 34982d8dc8719ad25a0d72163d69abd20eb01133 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sun, 2 Jan 2005 17:43:20 +0000 Subject: [PATCH] Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown exceptions to abort() in cases where it should not. Many thanks to Duraid Madina for doing the heavy lifting on the analysis of this problem. llvm-svn: 19256 --- llvm/Makefile.rules | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/llvm/Makefile.rules b/llvm/Makefile.rules index ed29614397b8..65790880be53 100644 --- a/llvm/Makefile.rules +++ b/llvm/Makefile.rules @@ -180,6 +180,7 @@ install-bytecode:: install-bytecode-local # Variables derived from configuration we are building #-------------------------------------------------------------------- + ifdef ENABLE_PROFILING BuildMode := Profile CXX.Flags := -O3 -DNDEBUG -felide-constructors -finline-functions -pg @@ -188,9 +189,13 @@ ifdef ENABLE_PROFILING else ifdef ENABLE_OPTIMIZED BuildMode := Release - CXX.Flags := -O3 -DNDEBUG -finline-functions \ - -felide-constructors -fomit-frame-pointer - C.Flags := -O3 -DNDEBUG -fomit-frame-pointer + # Don't use -fomit-frame-pointer on FreeBSD + ifneq ($(OS),FreeBSD) + OmitFramePointer := -fomit-frame-pointer + endif + CXX.Flags := -O3 -DNDEBUG -finline-functions -felide-constructors \ + $(OmitFramePointer) + C.Flags := -O3 -DNDEBUG $(OmitFramePointer) LD.Flags := -O3 -DNDEBUG else BuildMode := Debug