summaryrefslogtreecommitdiffstats
path: root/asmrun/stack.h
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2012-02-17 10:12:09 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2012-02-17 10:12:09 +0000
commit339bcbb2c603c22b99cf07daf5f8296d5ea8e940 (patch)
tree33cb94c04a8463fa83dd81cd2d5f073003b9252a /asmrun/stack.h
parentd6029c574f0914e5bc3fb608bdedb2c3f2c186ab (diff)
PR#5064, PR#5485: try to ensure that 4K words of stack are available
before calling into C functions, raising a Stack_overflow exception otherwise. This reduces (but does not eliminate) the risk of segmentation faults due to stack overflow in C code. Implemented for i386, amd64 and power, under Linux and MacOSX. Plus: remove some more stuff related to obsoleted platforms (IA64, SunOS 4). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'asmrun/stack.h')
-rw-r--r--asmrun/stack.h31
1 files changed, 0 insertions, 31 deletions
diff --git a/asmrun/stack.h b/asmrun/stack.h
index 907d51c79..9b575cb70 100644
--- a/asmrun/stack.h
+++ b/asmrun/stack.h
@@ -19,13 +19,6 @@
#define CAML_STACK_H
/* Macros to access the stack frame */
-#ifdef TARGET_alpha
-#define Saved_return_address(sp) *((intnat *)((sp) - 8))
-#define Already_scanned(sp, retaddr) ((retaddr) & 1L)
-#define Mark_scanned(sp, retaddr) (*((intnat *)((sp) - 8)) = (retaddr) | 1L)
-#define Mask_already_scanned(retaddr) ((retaddr) & ~1L)
-#define Callback_link(sp) ((struct caml_context *)((sp) + 16))
-#endif
#ifdef TARGET_sparc
#define Saved_return_address(sp) *((intnat *)((sp) + 92))
@@ -41,17 +34,6 @@
#endif
#endif
-#ifdef TARGET_mips
-#define Saved_return_address(sp) *((intnat *)((sp) - 4))
-#define Callback_link(sp) ((struct caml_context *)((sp) + 16))
-#endif
-
-#ifdef TARGET_hppa
-#define Stack_grows_upwards
-#define Saved_return_address(sp) *((intnat *)(sp))
-#define Callback_link(sp) ((struct caml_context *)((sp) - 24))
-#endif
-
#ifdef TARGET_power
#define Saved_return_address(sp) *((intnat *)((sp) - SIZEOF_PTR))
#define Already_scanned(sp, retaddr) ((retaddr) & 1)
@@ -65,24 +47,11 @@
#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size))
#endif
-#ifdef TARGET_m68k
-#define Saved_return_address(sp) *((intnat *)((sp) - 4))
-#define Callback_link(sp) ((struct caml_context *)((sp) + 8))
-#endif
-
#ifdef TARGET_arm
#define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8))
#endif
-#ifdef TARGET_ia64
-#define Saved_return_address(sp) *((intnat *)((sp) + 8))
-#define Already_scanned(sp, retaddr) ((retaddr) & 1L)
-#define Mark_scanned(sp, retaddr) (*((intnat *)((sp) + 8)) = (retaddr) | 1L)
-#define Mask_already_scanned(retaddr) ((retaddr) & ~1L)
-#define Callback_link(sp) ((struct caml_context *)((sp) + 32))
-#endif
-
#ifdef TARGET_amd64
#define Saved_return_address(sp) *((intnat *)((sp) - 8))
#define Callback_link(sp) ((struct caml_context *)((sp) + 16))