diff options
author | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-10 17:10:21 +0000 |
---|---|---|
committer | hboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-10 17:10:21 +0000 |
commit | fdea2e6aa44241c42e0c82ba1adf30d245971c53 (patch) | |
tree | d5b4434c00202857399323f0c5395a934fbe5a9d /boehm-gc/include | |
parent | 48121e86aa0ac09198baa7b4cd48dcfca75815fe (diff) | |
download | ppe42-gcc-fdea2e6aa44241c42e0c82ba1adf30d245971c53.tar.gz ppe42-gcc-fdea2e6aa44241c42e0c82ba1adf30d245971c53.zip |
* 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
Diffstat (limited to 'boehm-gc/include')
-rw-r--r-- | boehm-gc/include/private/gc_locks.h | 6 | ||||
-rw-r--r-- | boehm-gc/include/private/gcconfig.h | 9 |
2 files changed, 9 insertions, 6 deletions
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 <sys/tas.h> +# 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 |