summaryrefslogtreecommitdiffstats
path: root/Makefile.rules
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2005-01-02 17:43:20 +0000
committerReid Spencer <rspencer@reidspencer.com>2005-01-02 17:43:20 +0000
commit325a87e3fd6808b76a667af8b1af41c2ecf82fc6 (patch)
tree267c45e65f7592c91d72eda85fbefa3dd144735f /Makefile.rules
parent4a1e5c09bbea6df0cbe35e8a2be21b5c870db5d8 (diff)
downloadexternal_llvm-325a87e3fd6808b76a667af8b1af41c2ecf82fc6.zip
external_llvm-325a87e3fd6808b76a667af8b1af41c2ecf82fc6.tar.gz
external_llvm-325a87e3fd6808b76a667af8b1af41c2ecf82fc6.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19256 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile.rules')
-rw-r--r--Makefile.rules11
1 files changed, 8 insertions, 3 deletions
diff --git a/Makefile.rules b/Makefile.rules
index ed29614..6579088 100644
--- a/Makefile.rules
+++ b/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