From fdea2e6aa44241c42e0c82ba1adf30d245971c53 Mon Sep 17 00:00:00 2001 From: hboehm Date: Mon, 10 Jun 2002 17:10:21 +0000 Subject: * include/private/gc_locks.h (GC_test_and_set): Support Linux/mips. (GC_TEST_AND_SET_DEFINED): Likewise. * include/private/gcconfig.h (DYNAMIC_LOADING): Defined for Linux/mips. (DATAEND): Likewise. (LINUX_STACKBOTTOM): Likewise. (STACKBOTTOM): Removed for Linux/mips. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54444 138bc75d-0d04-0410-961f-82ee72b054a4 --- boehm-gc/ChangeLog | 12 ++++++++++++ boehm-gc/include/private/gc_locks.h | 6 +++++- boehm-gc/include/private/gcconfig.h | 9 ++++----- 3 files changed, 21 insertions(+), 6 deletions(-) (limited to 'boehm-gc') diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 9014d318310..2c8ab1a7a05 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,15 @@ +2002-06-09 H.J. Lu (hjl@gnu.org) + + * include/private/gc_locks.h (GC_test_and_set): Support + Linux/mips. + (GC_TEST_AND_SET_DEFINED): Likewise. + + * include/private/gcconfig.h (DYNAMIC_LOADING): Defined for + Linux/mips. + (DATAEND): Likewise. + (LINUX_STACKBOTTOM): Likewise. + (STACKBOTTOM): Removed for Linux/mips. + Sun May 19 11:32:03 2002 Mark P Mitchell * irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC. diff --git a/boehm-gc/include/private/gc_locks.h b/boehm-gc/include/private/gc_locks.h index 95beeddbadb..04d3af986c0 100644 --- a/boehm-gc/include/private/gc_locks.h +++ b/boehm-gc/include/private/gc_locks.h @@ -219,7 +219,11 @@ # define GC_TEST_AND_SET_DEFINED # endif # ifdef MIPS -# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \ +# ifdef LINUX +# include +# define GC_test_and_set(addr) _test_and_set((int *) addr,1) +# define GC_TEST_AND_SET_DEFINED +# elif __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \ || !defined(_COMPILER_VERSION) || _COMPILER_VERSION < 700 # define GC_test_and_set(addr) test_and_set(addr, 1) # else diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index 70eee489d64..106cbf82bd0 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -1141,15 +1141,14 @@ /* This was developed for a linuxce style platform. Probably */ /* needs to be tweaked for workstation class machines. */ # define OS_TYPE "LINUX" +# define DYNAMIC_LOADING + extern int _end[]; +# define DATAEND (_end) extern int __data_start[]; # define DATASTART ((ptr_t)(__data_start)) # define ALIGNMENT 4 # define USE_GENERIC_PUSH_REGS -# define STACKBOTTOM ((ptr_t)0x7fff8000) - /* Older toolchains may need 0x80000000. */ - /* In many cases, this should probably use LINUX_STACKBOTTOM */ - /* instead. But some kernel versions seem to give the wrong */ - /* value from /proc. */ +# define LINUX_STACKBOTTOM # endif /* Linux */ # ifdef EWS4800 # define HEURISTIC2 -- cgit v1.2.1