* gcconfig.h: Use libgcj hack for Alpha Linux.
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 1999 02:34:52 +0000 (02:34 +0000)
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 1999 02:34:52 +0000 (02:34 +0000)
       Undefine MPROTEXT_VDB (from Jeff Sturm).
       * os_dep.c: Remove Alpha Linux hacks.
       * misc.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31028 138bc75d-0d04-0410-961f-82ee72b054a4

boehm-gc/ChangeLog
boehm-gc/gcconfig.h
boehm-gc/misc.c
boehm-gc/os_dep.c

index 2fd93bb..6b55358 100644 (file)
@@ -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.
index 2215691..c5c2b88 100644 (file)
 #       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
index 9f20910..8c0d014 100644 (file)
@@ -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
index 362bd93..5bc41f1 100644 (file)
@@ -75,7 +75,7 @@
 # endif
 
 # if defined(LINUX) && \
-     (defined(SPARC) || defined(ALPHA) || defined(IA64))
+     (defined(SPARC) || defined(IA64))
 #   define NEED_FIND_LIMIT
 # endif
 
 # 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   */