2008-07-03 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Thiemo Seufer)
authorhboehm <hboehm>
Thu, 3 Jul 2008 21:46:04 +0000 (21:46 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:43 +0000 (21:06 +0400)
* include/private/gcconfig.h: Update MIPS/LINUX config.
* doc/gcdescr.html: Fix typo.
* mach_dep.c (GC_with_callee_saves_pushed): Don't rely on getcontext
for MIPS/LINUX.

ChangeLog
doc/gcdescr.html
include/private/gcconfig.h
mach_dep.c

index 918e860..47e1d3f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-07-03  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Thiemo Seufer)
+
+       * include/private/gcconfig.h: Update MIPS/LINUX config.
+       * doc/gcdescr.html: Fix typo.
+       * mach_dep.c (GC_with_callee_saves_pushed): Don't rely on getcontext
+       for MIPS/LINUX.
+
 2008-05-30  Hans Boehm <Hans.Boehm@hp.com> (some really dmcmahill)
 
        * configure.ac: SPARC fixes.
index dc08470..aa7d000 100644 (file)
@@ -438,7 +438,7 @@ bytes of allocation have taken place.
 After <TT>GC_full_freq</tt> minor collections a major collection
 is started.
 <P>
-All collections initially run interrupted until a predetermined
+All collections initially run uninterrupted until a predetermined
 amount of time (50 msecs by default) has expired.  If this allows
 the collection to complete entirely, we can avoid correcting
 for data structure modifications during the collection.  If it does
index a7128f1..012375b 100644 (file)
 # ifdef MIPS
 #   define MACH_TYPE "MIPS"
 #   ifdef LINUX
-      /* This was developed for a linuxce style platform.  Probably    */
-      /* needs to be tweaked for workstation class machines.           */
 #     define OS_TYPE "LINUX"
 #     define DYNAMIC_LOADING
       extern int _end[];
 #     define DATAEND (_end)
       extern int __data_start[];
 #     define DATASTART ((ptr_t)(__data_start))
-#     ifdef _MIPS_SZPTR
-#      define CPP_WORDSZ _MIPS_SZPTR
-#      define ALIGNMENT (_MIPS_SZPTR/8)
-#     else
-#      define ALIGNMENT 4
-#     endif
+#     define CPP_WORDSZ _MIPS_SZPTR
+#     define ALIGNMENT (_MIPS_SZPTR/8)
 #     if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
-#        define LINUX_STACKBOTTOM
+#       define LINUX_STACKBOTTOM
 #     else
-#        define STACKBOTTOM 0x80000000
+#       define STACKBOTTOM ((ptr_t)0x7fff8000)
 #     endif
 #   endif /* Linux */
 #   ifdef EWS4800
index 0491a52..d828a71 100644 (file)
@@ -175,9 +175,10 @@ void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
 #   if defined(HAVE_PUSH_REGS)
       GC_push_regs();
 #   elif defined(UNIX_LIKE) && !defined(DARWIN) && !defined(ARM32) && \
-        !defined(HURD)
+        !defined(MIPS) && !defined(HURD)
       /* Older versions of Darwin seem to lack getcontext(). */
-      /* ARM Linux often doesn't support a real getcontext(). */
+      /* ARM and MIPS Linux often doesn't support a real     */
+      /* getcontext().                                              */
       ucontext_t ctxt;
       if (getcontext(&ctxt) < 0)
        ABORT ("Getcontext failed: Use another register retrieval method?");