From 249f017bf2456100cabcfe5fcc2353097257fc84 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 1 Dec 2011 15:33:15 -0800 Subject: [PATCH] rt: Add FIXME's about future changes to LLVM's __morestack impl --- src/rt/arch/i386/morestack.S | 2 ++ src/rt/rust_task.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/rt/arch/i386/morestack.S b/src/rt/arch/i386/morestack.S index 7162f859a720..4eb5f0c2d2ae 100644 --- a/src/rt/arch/i386/morestack.S +++ b/src/rt/arch/i386/morestack.S @@ -19,6 +19,8 @@ #define MORESTACK __morestack #endif +// FIXME: Future LLVM patches remove these 8 alignment bytes from +// the function prologue in order to match gcc's behavior #define ALIGNMENT 8 #define RETURN_OFFSET 7 diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 97e226187411..808d1a6b9866 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -588,6 +588,9 @@ rust_task::del_stack() { void rust_task::record_stack_limit() { + // FIXME: Future LLVM patches expect us to add an additional 256 bytes + // here so that, if the frame size is < 256 it can generate the + // comparison against esp directly, instead of some offset from esp record_sp(stk->data + RED_ZONE_SIZE); } //