[BACK]Return to gc6_amd64.diff CVS log [TXT][DIR] Up to [local] / OpenXM / src / gc

File: [local] / OpenXM / src / gc / Attic / gc6_amd64.diff (download)

Revision 1.1, Thu Jul 28 07:00:52 2005 UTC (18 years, 10 months ago) by ohara
Branch: MAIN
CVS Tags: KNOPPIX_2006, DEB_REL_1_2_3-9

Copied a patch file from OpenXM_contrib2/asir200 for FreeBSD/amd64.

# $OpenXM: OpenXM/src/gc/gc6_amd64.diff,v 1.1 2005/07/28 07:00:52 ohara Exp $
--- include/private/gcconfig.h	2005-05-21 05:48:29.000000000 +0900
+++ include/private/gcconfig.h	2005-07-11 18:18:53.000000000 +0900
@@ -60,6 +60,11 @@
 # endif
 
 /* Determine the machine type: */
+/* T.Saito */
+# if defined(FREEBSD) && defined(__amd64__)
+#    define X86_64
+#    define mach_type_known
+# endif
 # if defined(__arm__) || defined(__thumb__)
 #    define ARM32
 #    if !defined(LINUX) && !defined(NETBSD)
@@ -1936,6 +1943,28 @@
 	extern char etext[];
 #	define SEARCH_FOR_DATA_START
 #   endif
+#   ifdef FREEBSD /* T.Saito */
+#       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 int _etext[];
+        extern char etext[];
+	extern char edata[];
+	extern char end[];
+        extern char * GC_FreeBSDGetDataStart();
+#	define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
+#	define NEED_FIND_LIMIT
+#	define DATAEND (GC_find_limit (DATASTART, TRUE))
+#	define DATASTART2 ((ptr_t)(&edata))
+#	define DATAEND2 ((ptr_t)(&end))
+#   endif /* end T.Saito */
 # endif
 
 #if defined(LINUX) && defined(USE_MMAP)