28 lines
976 B
Diff
28 lines
976 B
Diff
--- a/boehm-gc/include/private/gc_locks.h
|
|
+++ b/boehm-gc/include/private/gc_locks.h
|
|
@@ -282,7 +282,9 @@
|
|
# define GC_TEST_AND_SET_DEFINED
|
|
# endif
|
|
# ifdef MIPS
|
|
-# ifdef LINUX
|
|
+# if (__GNUC__>4)||((__GNUC__==4)&&(__GNUC_MINOR__>=4))
|
|
+# define GC_test_and_set(addr) __sync_lock_test_and_set (addr, 1)
|
|
+# elif defined(LINUX)
|
|
# include <sys/tas.h>
|
|
# define GC_test_and_set(addr) _test_and_set((int *) addr,1)
|
|
# define GC_TEST_AND_SET_DEFINED
|
|
--- a/boehm-gc/include/private/gcconfig.h
|
|
+++ b/boehm-gc/include/private/gcconfig.h
|
|
@@ -1373,10 +1373,9 @@
|
|
/* needs to be tweaked for workstation class machines. */
|
|
# define OS_TYPE "LINUX"
|
|
# define DYNAMIC_LOADING
|
|
+# define SEARCH_FOR_DATA_START
|
|
extern int _end[];
|
|
# define DATAEND (_end)
|
|
- extern int __data_start[];
|
|
-# define DATASTART ((ptr_t)(__data_start))
|
|
# ifdef _MIPS_SZPTR
|
|
# define CPP_WORDSZ _MIPS_SZPTR
|
|
# define ALIGNMENT (_MIPS_SZPTR/8)
|