diff options
author | Alexandre Oliva <oliva@dcc.unicamp.br> | 1999-07-19 19:32:38 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1999-07-19 19:32:38 +0000 |
commit | 23acce6cf92f933faa135ba55efc44faef6e2e4c (patch) | |
tree | 392fd2db98812f50fb59de715effa8532289298f /boehm-gc/os_dep.c | |
parent | 0f536833c0e880d99ca6b7c7679278ec4c0d91d5 (diff) | |
download | gcc-23acce6cf92f933faa135ba55efc44faef6e2e4c.tar.gz |
config.h: Updates for GNU/Linux/sparc.
1999-07-19 Alexandre Oliva <oliva@dcc.unicamp.br>
* config.h: Updates for GNU/Linux/sparc. Use HEURISTIC2 on
Solaris7/sparc, since HEURISTIC1 does not work.
* os_dep.c: Updates for GNU/Linux/sparc.
* misc.c (GC_init_inner): Likewise.
From gc-boehm 4.14.
From-SVN: r28181
Diffstat (limited to 'boehm-gc/os_dep.c')
-rw-r--r-- | boehm-gc/os_dep.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c index 29cf8ff99ec..1b1442fe5c5 100644 --- a/boehm-gc/os_dep.c +++ b/boehm-gc/os_dep.c @@ -68,7 +68,7 @@ # define NEED_FIND_LIMIT # endif -# if defined(LINUX) && (defined(POWERPC) || defined(ALPHA)) +# if defined(LINUX) && (defined(POWERPC) || defined(ALPHA) || defined(SPARC)) # define NEED_FIND_LIMIT # endif @@ -224,6 +224,19 @@ } #endif +#if defined(LINUX) && defined(SPARC) + ptr_t GC_data_start; + + void GC_init_linuxsparc() + { + extern ptr_t GC_find_limit(); + extern char **_environ; + /* This may need to be environ, without the underscore, for */ + /* some versions. */ + GC_data_start = GC_find_limit((ptr_t)&_environ, FALSE); + } +#endif + # ifdef ECOS # ifndef ECOS_GC_MEMORY_SIZE @@ -2261,7 +2274,7 @@ struct hblk *h; * Call stack save code for debugging. * Should probably be in mach_dep.c, but that requires reorganization. */ -#if defined(SPARC) +#if defined(SPARC) && !defined(LINUX) # if defined(SUNOS4) # include <machine/frame.h> # else |