2005-06-15 Andreas Tobler <a.tobler@schweiz.ch>
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jun 2005 21:25:54 +0000 (21:25 +0000)
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jun 2005 21:25:54 +0000 (21:25 +0000)
* os_dep.c: Add FreeBSD/PowerPC bits.
(GC_SysVGetDataStart): Likewise.
* include/private/gcconfig.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100997 138bc75d-0d04-0410-961f-82ee72b054a4

boehm-gc/ChangeLog
boehm-gc/include/private/gcconfig.h
boehm-gc/os_dep.c

index a5e8728..59bae15 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-15  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * os_dep.c: Add FreeBSD/PowerPC bits.
+       (GC_SysVGetDataStart): Likewise.
+       * include/private/gcconfig.h: Likewise.
+
 2005-05-25  Andrew Haley  <aph@redhat.com>
 
        * include/private/gcconfig.h (HBLKSIZE): Define to 4096 on
index 05b3832..c5077e6 100644 (file)
 #    define POWERPC
 #    define mach_type_known
 # endif
+# if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__))
+#    define POWERPC
+#    define mach_type_known
+# endif
 # if defined(LINUX) && defined(__mc68000__)
 #    define M68K
 #    define mach_type_known
          should be looked into some more */
 #     define NO_PTHREAD_TRYLOCK
 #   endif
+#   ifdef FREEBSD
+#       define ALIGNMENT 4
+#       define OS_TYPE "FREEBSD"
+#       ifndef GC_FREEBSD_THREADS
+#           define MPROTECT_VDB
+#       endif
+#       define SIG_SUSPEND SIGUSR1
+#       define SIG_THR_RESTART SIGUSR2
+#       define FREEBSD_STACKBOTTOM
+#       ifdef __ELF__
+#           define DYNAMIC_LOADING
+#       endif
+        extern char etext[];
+        extern char * GC_FreeBSDGetDataStart();
+#       define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
+#   endif
 #   ifdef NETBSD
 #     define ALIGNMENT 4
 #     define OS_TYPE "NETBSD"
index c4775c1..aadd5b9 100644 (file)
@@ -80,7 +80,7 @@
 #   define NEED_FIND_LIMIT
 # endif
 
-#if defined(FREEBSD) && defined(I386)
+#if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__))
 #  include <machine/trap.h>
 #  if !defined(PCR)
 #    define NEED_FIND_LIMIT
@@ -1387,7 +1387,7 @@ int * etext_addr;
 }
 # endif
 
-# if defined(FREEBSD) && defined(I386) && !defined(PCR)
+# if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__)) && !defined(PCR)
 /* Its unclear whether this should be identical to the above, or       */
 /* whether it should apply to non-X86 architectures.                   */
 /* For now we don't assume that there is always an empty page after    */