diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 15:08:58 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 15:08:58 +0000 |
commit | 9618cef10cf5822dc3f72363d27f94606942939f (patch) | |
tree | b2c8d5ade6c2bace942e02d93986a6fe0c08df2e /boehm-gc/include/private/gcconfig.h | |
parent | 59fd55c6a94bc9206f412fe2fcaf31143d1510bf (diff) | |
download | gcc-9618cef10cf5822dc3f72363d27f94606942939f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196490 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/include/private/gcconfig.h')
-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 594ce431e02..9420c7caf8f 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 |