From ca3611da3a7b874004ed8040fd861357977ef5d4 Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 2 Dec 2005 14:09:21 +0000 Subject: [PATCH] [project @ 2005-12-02 14:09:21 by simonmar] revert rev. 1.22 again, just in case this is the cause of the segfaults reported on OpenBSD and SuSE. --- ghc/includes/TailCalls.h | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/ghc/includes/TailCalls.h b/ghc/includes/TailCalls.h index 53db254..670da95 100644 --- a/ghc/includes/TailCalls.h +++ b/ghc/includes/TailCalls.h @@ -249,8 +249,6 @@ but uses $$dyncall if necessary to cope, just in case you aren't. function and these markers is shredded by the mangler. -------------------------------------------------------------------------- */ -#ifndef FB_ -#if __GNUC__ < 3 /* The following __DISCARD__() has become necessary with gcc 2.96 on x86. * It prevents gcc from moving stack manipulation code from the function * body (aka the Real Code) into the function prologue, ie, from moving it @@ -260,17 +258,9 @@ but uses $$dyncall if necessary to cope, just in case you aren't. * it just doesn't choose to do it at the moment. * -= chak */ + +#ifndef FB_ #define FB_ __asm__ volatile ("--- BEGIN ---"); __DISCARD__ (); -#else -/* The __DISCARD__() doesn't appear to be necessary with gcc >= 3.2 at - * least, and it does cause some difficulty, preventing gcc from - * optimising around the beginning of the function. In particular, - * gcc leaves some stack assignments in the prologue when the call is - * present. --SDM - - */ -#define FB_ __asm__ volatile ("--- BEGIN ---"); -#endif #endif #ifndef FE_ -- 1.7.10.4