]> granicus.if.org Git - gc/commitdiff
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 918e860b7a86b87d9ddb78dcac5eada8cf0db8f6..47e1d3f4b2cf5e4d120745a22374c923ac9b2213 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 dc08470e401a690e9a1fb02f9160a813e2317794..aa7d00057862d102eb79353922c10c8b80bb1b3a 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 a7128f148910d5af538a2298cab26a845baa064d..012375bc673205ba50b209f699692e4977b66398 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 0491a52d7756d98c8b05b4c439be098ae13a783f..d828a71b4887e75994ccfc4c6116f0e1d7995f0c 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?");