This is the mail archive of the java-patches@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gc changes



I should have sent this with my previous change.  It corresponds to
the libjava configure changes.  I've committed it.

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.

Index: gcconfig.h
===================================================================
RCS file: /cvs/java/libgcj/boehm-gc/gcconfig.h,v
retrieving revision 1.6
diff -u -r1.6 gcconfig.h
--- gcconfig.h	1999/12/12 18:06:08	1.6
+++ gcconfig.h	1999/12/20 02:29:35
@@ -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
Index: misc.c
===================================================================
RCS file: /cvs/java/libgcj/boehm-gc/misc.c,v
retrieving revision 1.9
diff -u -r1.9 misc.c
--- misc.c	1999/12/12 18:06:08	1.9
+++ misc.c	1999/12/20 02:29:37
@@ -443,8 +443,7 @@
 #   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: os_dep.c
===================================================================
RCS file: /cvs/java/libgcj/boehm-gc/os_dep.c,v
retrieving revision 1.8
diff -u -r1.8 os_dep.c
--- os_dep.c	1999/12/12 18:06:08	1.8
+++ os_dep.c	1999/12/20 02:29:42
@@ -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	*/

-- 
Anthony Green                                               Cygnus Solutions
                                                       Sunnyvale, California

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]