solaris_threads.c (MAX_ORIG_STACK_SIZE): Provide special Solaris 2/Intel definition.
* solaris_threads.c (MAX_ORIG_STACK_SIZE) [I386]: Provide special Solaris 2/Intel definition. * configure.in (i?86-*-solaris2.[89]*): Define SOLARIS25_PROC_VDB_BUG_FIXED. * include/private/gcconfig.h [I386 && SUNOS5]: Use it. * configure: Regenerate. * include/private/gcconfig.h [I386 && SUNOS5] (DATASTART): Use _etext. (DATAEND): Define using _end. From-SVN: r45825
This commit is contained in:
parent
2e10660228
commit
9c383523a3
5 changed files with 39 additions and 3 deletions
|
@ -1,3 +1,16 @@
|
|||
2001-09-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* solaris_threads.c (MAX_ORIG_STACK_SIZE) [I386]: Provide special
|
||||
Solaris 2/Intel definition.
|
||||
|
||||
* configure.in (i?86-*-solaris2.[89]*): Define
|
||||
SOLARIS25_PROC_VDB_BUG_FIXED.
|
||||
* include/private/gcconfig.h [I386 && SUNOS5]: Use it.
|
||||
* configure: Regenerate.
|
||||
|
||||
* include/private/gcconfig.h [I386 && SUNOS5] (DATASTART): Use _etext.
|
||||
(DATAEND): Define using _end.
|
||||
|
||||
2001-09-11 Per Bothner <per@bothner.com>
|
||||
|
||||
* include/Makefile.am: New file. It defines include_HEADERS.
|
||||
|
|
6
boehm-gc/configure
vendored
6
boehm-gc/configure
vendored
|
@ -2806,6 +2806,12 @@ machdep=
|
|||
case "$host" in
|
||||
alpha*-*-*)
|
||||
machdep="alpha_mach_dep.lo"
|
||||
;;
|
||||
i?86-*-solaris2.[89]*)
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define SOLARIS25_PROC_VDB_BUG_FIXED 1
|
||||
EOF
|
||||
|
||||
;;
|
||||
mipstx39-*-elf*)
|
||||
machdep="mips_ultrix_mach_dep.lo"
|
||||
|
|
|
@ -153,6 +153,9 @@ case "$host" in
|
|||
alpha*-*-*)
|
||||
machdep="alpha_mach_dep.lo"
|
||||
;;
|
||||
i?86-*-solaris2.[[89]]*)
|
||||
AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED)
|
||||
;;
|
||||
mipstx39-*-elf*)
|
||||
machdep="mips_ultrix_mach_dep.lo"
|
||||
AC_DEFINE(STACKBASE, __stackbase)
|
||||
|
|
|
@ -838,9 +838,10 @@
|
|||
# endif
|
||||
# ifdef SUNOS5
|
||||
# define OS_TYPE "SUNOS5"
|
||||
extern int etext, _start;
|
||||
extern int _etext, _end;
|
||||
extern char * GC_SysVGetDataStart();
|
||||
# define DATASTART GC_SysVGetDataStart(0x1000, &etext)
|
||||
# define DATASTART GC_SysVGetDataStart(0x1000, &_etext)
|
||||
# define DATAEND (&_end)
|
||||
/* # define STACKBOTTOM ((ptr_t)(&_start)) worked through 2.7, */
|
||||
/* but reportedly breaks under 2.8. It appears that the stack */
|
||||
/* base is a property of the executable, so this should not break */
|
||||
|
@ -849,7 +850,9 @@
|
|||
# include <sys/vmparam.h>
|
||||
# define STACKBOTTOM USRSTACK
|
||||
/** At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
|
||||
/*# define PROC_VDB*/
|
||||
# ifdef SOLARIS25_PROC_VDB_BUG_FIXED
|
||||
# define PROC_VDB
|
||||
# endif
|
||||
# define DYNAMIC_LOADING
|
||||
# ifndef USE_MMAP
|
||||
# define USE_MMAP
|
||||
|
|
|
@ -621,7 +621,18 @@ GC_thread GC_lookup_thread(thread_t id)
|
|||
return(p);
|
||||
}
|
||||
|
||||
/* Solaris 2/Intel uses an initial stack size limit slightly bigger than the
|
||||
SPARC default of 8 MB. Account for this to warn only if the user has
|
||||
raised the limit beyond the default.
|
||||
|
||||
This is identical to DFLSSIZ defined in <sys/vm_machparam.h>. This file
|
||||
is installed in /usr/platform/`uname -m`/include, which is not in the
|
||||
default include directory list, so copy the definition here. */
|
||||
#ifdef I386
|
||||
# define MAX_ORIG_STACK_SIZE (8 * 1024 * 1024 + ((USRSTACK) & 0x3FFFFF))
|
||||
#else
|
||||
# define MAX_ORIG_STACK_SIZE (8 * 1024 * 1024)
|
||||
#endif
|
||||
|
||||
word GC_get_orig_stack_size() {
|
||||
struct rlimit rl;
|
||||
|
|
Loading…
Add table
Reference in a new issue