diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 2fd93bb39dca..6b55358fed2d 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,10 @@ +1999-12-19 Anthony Green + + * 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 * aclocal.m4, configure: Rebuilt. diff --git a/boehm-gc/gcconfig.h b/boehm-gc/gcconfig.h index 22156918c360..c5c2b88ac736 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 9f209100a591..8c0d0147bf6f 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 362bd933822a..5bc41f1ddf65 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 */