[kaffe] CVS kaffe (guilhem): Fixed stack size detection on some linux architectures.

Kaffe CVS cvs-commits at kaffe.org
Fri Jun 4 13:49:01 PDT 2004


PatchSet 4823 
Date: 2004/06/04 20:28:14
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Fixed stack size detection on some linux architectures.

        * config/m68k/linux/md.h,
        config/powerpc/linux/md.h: Implemented mdGetStackSize().

        * config/i386/linux/md.h: Cleaned up as soft limits are always
        the lower bound in the Linux kernel.

Members: 
	ChangeLog:1.2391->1.2392 
	config/i386/linux/md.h:1.12->1.13 
	config/m68k/linux/md.h:1.8->1.9 
	config/powerpc/linux/md.h:1.5->1.6 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2391 kaffe/ChangeLog:1.2392
--- kaffe/ChangeLog:1.2391	Fri Jun  4 19:32:32 2004
+++ kaffe/ChangeLog	Fri Jun  4 20:28:14 2004
@@ -1,5 +1,13 @@
 2004-06-04  Guilhem Lavaux <guilhem at kaffe.org>
 
+	* config/m68k/linux/md.h,
+	config/powerpc/linux/md.h: Implemented mdGetStackSize().
+
+	* config/i386/linux/md.h: Cleaned up as soft limits are always
+	the lower bound in the Linux kernel.
+
+2004-06-04  Guilhem Lavaux <guilhem at kaffe.org>
+
 	* po/fr.po, po/kaffe.pot: New files.
 
 	* po/LINGUAS: Added fr.
Index: kaffe/config/i386/linux/md.h
diff -u kaffe/config/i386/linux/md.h:1.12 kaffe/config/i386/linux/md.h:1.13
--- kaffe/config/i386/linux/md.h:1.12	Sun May  9 14:20:12 2004
+++ kaffe/config/i386/linux/md.h	Fri Jun  4 20:28:15 2004
@@ -83,10 +83,12 @@
 {
   struct rlimit rl;
 
+  // The soft limit is always the lower limit.
+  // Use it by default.
   if (getrlimit(RLIMIT_STACK, &rl) < 0)
     return 0;
   else
-    return (rl.rlim_max >= RLIM_INFINITY) ? rl.rlim_cur : rl.rlim_max;
+    return rl.rlim_cur;
 }
 #endif
 
Index: kaffe/config/m68k/linux/md.h
diff -u kaffe/config/m68k/linux/md.h:1.8 kaffe/config/m68k/linux/md.h:1.9
--- kaffe/config/m68k/linux/md.h:1.8	Wed Apr 28 17:03:55 2004
+++ kaffe/config/m68k/linux/md.h	Fri Jun  4 20:28:16 2004
@@ -40,6 +40,23 @@
 extern void init_md(void);
 #define	INIT_MD()	init_md()
 
+#if defined(HAVE_GETRLIMIT)
+#define KAFFEMD_STACKSIZE
+
+static inline rlim_t mdGetStackSize(void)
+{
+  struct rlimit rl;
+
+  // The soft limit is always the lower limit.
+  // Use it by default.
+  if (getrlimit(RLIMIT_STACK, &rl) < 0)
+    return 0;
+  else
+    return rl.rlim_cur;
+}
+#endif
+
+
 /*
  * sysdepCallMethod supports:
  *
Index: kaffe/config/powerpc/linux/md.h
diff -u kaffe/config/powerpc/linux/md.h:1.5 kaffe/config/powerpc/linux/md.h:1.6
--- kaffe/config/powerpc/linux/md.h:1.5	Tue Apr 27 18:25:17 2004
+++ kaffe/config/powerpc/linux/md.h	Fri Jun  4 20:28:16 2004
@@ -28,4 +28,21 @@
 #define SIGNAL_ARGS(sig, sc) int sig
 #undef HAVE_SIGALTSTACK
 
+#if defined(HAVE_GETRLIMIT)
+#define KAFFEMD_STACKSIZE
+
+static inline rlim_t mdGetStackSize(void)
+{
+  struct rlimit rl;
+
+  // The soft limit is always the lower limit.
+  // Use it by default.
+  if (getrlimit(RLIMIT_STACK, &rl) < 0)
+    return 0;
+  else
+    return rl.rlim_cur;
+}
+#endif
+
+
 #endif




More information about the kaffe mailing list