summaryrefslogtreecommitdiff
path: root/boehm-gc/os_dep.c
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@dcc.unicamp.br>1999-07-19 19:32:38 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-07-19 19:32:38 +0000
commit23acce6cf92f933faa135ba55efc44faef6e2e4c (patch)
tree392fd2db98812f50fb59de715effa8532289298f /boehm-gc/os_dep.c
parent0f536833c0e880d99ca6b7c7679278ec4c0d91d5 (diff)
downloadgcc-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.c17
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