OSDN Git Service

* include/private/gc_locks.h (GC_test_and_set): Support
authorhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Jun 2002 17:10:21 +0000 (17:10 +0000)
committerhboehm <hboehm@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Jun 2002 17:10:21 +0000 (17:10 +0000)
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
boehm-gc/include/private/gc_locks.h
boehm-gc/include/private/gcconfig.h

index 9014d31..2c8ab1a 100644 (file)
@@ -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  <mark@codesourcery.com>
 
        * irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
index 95beedd..04d3af9 100644 (file)
 #    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
index 70eee48..106cbf8 100644 (file)
       /* 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