aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>1999-12-20 02:34:52 +0000
committerAnthony Green <green@cygnus.com>1999-12-20 02:34:52 +0000
commit01fe0cd9be38fdf8623cd74bbf428a794448352c (patch)
tree0df4841bf2ae80e12351ffbda3609017d5045dce /boehm-gc
parent2323305c3ee0e05beee0e7071a9db119454cbbda (diff)
* gcconfig.h: Use libgcj hack for Alpha Linux.
Undefine MPROTEXT_VDB (from Jeff Sturm). * os_dep.c: Remove Alpha Linux hacks. * misc.c: Ditto. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@31028 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc')
-rw-r--r--boehm-gc/ChangeLog7
-rw-r--r--boehm-gc/gcconfig.h14
-rw-r--r--boehm-gc/misc.c3
-rw-r--r--boehm-gc/os_dep.c4
4 files changed, 16 insertions, 12 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 2fd93bb39dc..6b55358fed2 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,10 @@
+1999-12-19 Anthony Green <green@cygnus.com>
+
+ * gcconfig.h: Use libgcj hack for Alpha Linux.
+ Undefine MPROTEXT_VDB (from Jeff Sturm).
+ * os_dep.c: Remove Alpha Linux hacks.
+ * misc.c: Ditto.
+
1999-12-13 Tom Tromey <tromey@cygnus.com>
* aclocal.m4, configure: Rebuilt.
diff --git a/boehm-gc/gcconfig.h b/boehm-gc/gcconfig.h
index 22156918c36..c5c2b88ac73 100644
--- a/boehm-gc/gcconfig.h
+++ b/boehm-gc/gcconfig.h
@@ -988,19 +988,17 @@
# define CPP_WORDSZ 64
# define STACKBOTTOM ((ptr_t) 0x120000000)
# ifdef __ELF__
-# if 0
- /* __data_start apparently disappeared in some recent releases. */
- extern int __data_start;
-# define DATASTART &__data_start
-# endif
-# define DATASTART GC_data_start
-# define DYNAMIC_LOADING
+ /* glibc for Linux/Alpha no longer provides a symbol marking
+ the start of the data segment. So libgcj defines
+ data_start on its own (in libgcjdata.a). */
+ extern int data_start;
+# define DYNAMIC_LOADING
# else
# define DATASTART ((ptr_t) 0x140000000)
# endif
extern int _end;
# define DATAEND (&_end)
-# define MPROTECT_VDB
+# undef MPROTECT_VDB
/* Has only been superficially tested. May not */
/* work on all versions. */
# endif
diff --git a/boehm-gc/misc.c b/boehm-gc/misc.c
index 9f209100a59..8c0d0147bf6 100644
--- a/boehm-gc/misc.c
+++ b/boehm-gc/misc.c
@@ -443,8 +443,7 @@ void GC_init_inner()
# ifdef MSWIN32
GC_init_win32();
# endif
-# if defined(LINUX) && \
- (defined(ALPHA) || defined(SPARC) || defined(IA64))
+# if defined(LINUX) && (defined(SPARC) || defined(IA64))
GC_init_linux_data_start();
# endif
# ifdef SOLARIS_THREADS
diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c
index 362bd933822..5bc41f1ddf6 100644
--- a/boehm-gc/os_dep.c
+++ b/boehm-gc/os_dep.c
@@ -75,7 +75,7 @@
# endif
# if defined(LINUX) && \
- (defined(SPARC) || defined(ALPHA) || defined(IA64))
+ (defined(SPARC) || defined(IA64))
# define NEED_FIND_LIMIT
# endif
@@ -142,7 +142,7 @@
# define OPT_PROT_EXEC 0
#endif
-#if defined(LINUX) && (defined(SPARC) || defined(ALPHA) || defined(IA64))
+#if defined(LINUX) && (defined(SPARC) || defined(IA64))
/* The I386 case can be handled without a search. The Alpha case */
/* used to be handled differently as well, but the rules changed */
/* for recent Linux versions. This seems to be the easiest way to */