$OpenBSD$
--- include/private/gcconfig.h.orig	Thu Feb 16 23:34:18 2006
+++ include/private/gcconfig.h	Sat Sep  2 18:38:46 2006
@@ -226,6 +226,10 @@
 #    define I386
 #    define mach_type_known
 # endif
+# if defined(OPENBSD) && defined(__amd64__)
+#    define X86_64
+#    define mach_type_known
+# endif
 # if defined(LINUX) && defined(__x86_64__)
 #    define X86_64
 #    define mach_type_known
@@ -323,6 +327,20 @@
 #   define OPENBSD
 #   define mach_type_known
 # endif
+# if defined(__OpenBSD__) && (defined(__powerpc__))
+#   define POWERPC
+#   define OPENBSD
+#   define mach_type_known
+# endif
+# if defined(__OpenBSD__) && (defined(__mc68020__) || defined(__mc68020))
+#   define M68K
+#   define OPENBSD
+#   define mach_type_known
+# endif
+# if defined(OPENBSD) && defined(__m88k__)
+#   define M88K
+#   define mach_type_known
+# endif
 # if defined(FREEBSD) && (defined(i386) || defined(__i386__))
 #   define I386
 #   define mach_type_known
@@ -853,6 +871,14 @@
 #     define DATASTART GC_data_start
 #     define DYNAMIC_LOADING
 #   endif
+#   ifdef OPENBSD
+#     define ALIGNMENT 4
+#     define OS_TYPE "OPENBSD"
+#     define HEURISTIC2
+      extern char etext;
+#     define DATASTART GC_data_start
+#     define DYNAMIC_LOADING
+#   endif
 #   ifdef NOSYS
 #     define ALIGNMENT 4
 #     define OS_TYPE "NOSYS"
@@ -1243,6 +1269,9 @@
 #   endif
 #   ifdef OPENBSD
 #	define OS_TYPE "OPENBSD"
+#	define HEURISTIC2
+#       define DATASTART GC_data_start
+#       define DYNAMIC_LOADING
 #   endif
 #   ifdef FREEBSD
 #	define OS_TYPE "FREEBSD"
@@ -1271,7 +1300,8 @@
 #   ifdef BSDI
 #	define OS_TYPE "BSDI"
 #   endif
-#   if defined(OPENBSD) || defined(NETBSD) \
+/* must not be openbsd */
+#   if defined(NETBSD) \
         || defined(THREE86BSD) || defined(BSDI)
 #	define HEURISTIC2
 	extern char etext[];
@@ -1769,6 +1799,11 @@
 #   define ALIGNMENT 4
 #   define ALIGN_DOUBLE
     extern int etext[];
+#   ifdef OPENBSD
+#	define OS_TYPE "OPENBSD"
+#	define HEURISTIC2
+#       define DATASTART GC_data_start
+#   endif
 #   ifdef CX_UX
 #	define OS_TYPE "CX_UX"
 #       define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000)
@@ -1964,6 +1999,13 @@
 #   endif
 #   define CACHE_LINE_SIZE 64
 #   define USE_GENERIC_PUSH_REGS
+#   ifdef OPENBSD
+#       define OS_TYPE "OPENBSD"
+#       define DATASTART GC_data_start
+#       define HEURISTIC2
+#       define ELF_CLASS ELFCLASS64
+#       define DYNAMIC_LOADING
+#   endif
 #   ifdef LINUX
 #	define OS_TYPE "LINUX"
 #       define LINUX_STACKBOTTOM
