diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2013-03-06 15:08:58 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2013-03-06 15:08:58 +0000 |
commit | 6632162b03440cc01113262b6700ed6ab3ba11ff (patch) | |
tree | b2c8d5ade6c2bace942e02d93986a6fe0c08df2e /boehm-gc/include | |
parent | 9ac0b8414cd523ab9c60c72011a8578660506970 (diff) | |
download | gcc-6632162b03440cc01113262b6700ed6ab3ba11ff.zip gcc-6632162b03440cc01113262b6700ed6ab3ba11ff.tar.gz gcc-6632162b03440cc01113262b6700ed6ab3ba11ff.tar.bz2 |
Use thr_stksegment to determine Solaris stack base
* os_dep.c [SOLARIS_STACKBOTTOM] (GC_solaris_stack_base): New
function.
[!BEOS && !AMIGA && !MSWIN32 && !MSWINCE && !OS2 && !NOSYS &&
!ECOS] (GC_get_stack_base): Use it.
* include/private/gcconfig.h [SPARC && SUNOS5]
(SOLARIS_STACKBOTTOM): Define.
(STACKBOTTOM, HEURISTIC2): Remove.
[I386 && SUNOS5]
(SOLARIS_STACKBOTTOM): Define.
(STACKBOTTOM): Remove.
From-SVN: r196490
Diffstat (limited to 'boehm-gc/include')
-rw-r--r-- | boehm-gc/include/private/gcconfig.h | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index 594ce43..9420c7c 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -927,18 +927,7 @@ # define HEAP_START DATAEND # endif # define PROC_VDB -/* HEURISTIC1 reportedly no longer works under 2.7. */ -/* HEURISTIC2 probably works, but this appears to be preferable. */ -/* Apparently USRSTACK is defined to be USERLIMIT, but in some */ -/* installations that's undefined. We work around this with a */ -/* gross hack: */ -# include <sys/vmparam.h> -# ifdef USERLIMIT - /* This should work everywhere, but doesn't. */ -# define STACKBOTTOM USRSTACK -# else -# define HEURISTIC2 -# endif +# define SOLARIS_STACKBOTTOM # include <unistd.h> # define GETPAGESIZE() sysconf(_SC_PAGESIZE) /* getpagesize() appeared to be missing from at least one */ @@ -1067,13 +1056,7 @@ extern ptr_t GC_SysVGetDataStart(); # 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 */ -/* old executables. */ -/* HEURISTIC2 probably works, but this appears to be preferable. */ -# include <sys/vm.h> -# define STACKBOTTOM USRSTACK +# define SOLARIS_STACKBOTTOM /* At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */ /* It appears to be fixed in 2.8 and 2.9. */ # ifdef SOLARIS25_PROC_VDB_BUG_FIXED |