From 0ac02e7c4fcdda35940eccba385001e8b882c63e Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 22 Aug 2013 20:46:20 -0400 Subject: [PATCH] make: stop disabling frame pointer elimination We currently have no need for the frame pointers on any platform. They may eventually be needed on platforms without an equivalent to the DWARF call frame information to walk the stack in the garbage collector. Closes #7477 --- mk/platform.mk | 5 +---- src/rustllvm/RustWrapper.cpp | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/mk/platform.mk b/mk/platform.mk index 9fde6475535..3e7ad914dab 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -26,10 +26,7 @@ endef $(foreach t,$(CFG_TARGET_TRIPLES),$(eval $(call DEF_OSTYPE_VAR,$(t)))) $(foreach t,$(CFG_TARGET_TRIPLES),$(info cfg: os for $(t) is $(OSTYPE_$(t)))) -# FIXME: no-omit-frame-pointer is just so that task_start_wrapper -# has a frame pointer and the stack walker can understand it. Turning off -# frame pointers everywhere is overkill -CFG_GCCISH_CFLAGS += -fno-omit-frame-pointer -DUSE_UTF8 +CFG_GCCISH_CFLAGS += -DUSE_UTF8 # On Darwin, we need to run dsymutil so the debugging information ends # up in the right place. On other platforms, it automatically gets diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 1a4b7f32329..7e9a790e215 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -342,7 +342,6 @@ LLVMRustBuildJIT(void* mem, std::string Err; TargetOptions Options; Options.JITEmitDebugInfo = true; - Options.NoFramePointerElim = true; Options.EnableSegmentedStacks = EnableSegmentedStacks; RustMCJITMemoryManager* MM = (RustMCJITMemoryManager*) mem; assert(MM); @@ -393,7 +392,6 @@ LLVMRustWriteOutputFile(LLVMPassManagerRef PMR, } TargetOptions Options; - Options.NoFramePointerElim = true; Options.EnableSegmentedStacks = EnableSegmentedStacks; Options.FixedStackSegmentSize = 2 * 1024 * 1024; // XXX: This is too big.