* 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-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.
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
# 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
# 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?");