$OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
--- include/private/gcconfig.h.orig	Tue Aug  6 14:49:22 2002
+++ include/private/gcconfig.h	Wed Apr 23 16:38:27 2003
@@ -51,6 +51,10 @@
 #    define FREEBSD
 # endif
 
+# if defined(__OpenBSD__)
+#    define OPENBSD
+# endif
+
 /* Determine the machine type: */
 # if defined(__XSCALE__)
 #    define ARM32
@@ -89,7 +93,7 @@
 #    define ARM32
 #    define mach_type_known
 # endif
-# if defined(vax)
+# if defined(vax) || defined(__vax__)
 #    define VAX
 #    ifdef ultrix
 #	define ULTRIX
@@ -270,6 +274,11 @@
 #    define POWERPC
 #    define mach_type_known
 # endif
+# if defined(__OpenBSD__) && (defined(__powerpc__))
+#   define POWERPC
+#   define OPENBSD
+#   define mach_type_known
+# endif
 # if defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
 #    define MACOSX
 #    define I386
@@ -726,6 +735,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"
@@ -861,9 +878,9 @@
 #   endif
 #   ifdef OPENBSD
 #     define OS_TYPE "OPENBSD"
-#     define STACKBOTTOM ((ptr_t) 0xf8000000)
-      extern int etext[];
-#     define DATASTART ((ptr_t)(etext))
+#     define HEURISTIC2
+#     define DATASTART GC_data_start
+#     define DYNAMIC_LOADING
 #   endif
 #   ifdef NETBSD
 #     define OS_TYPE "NETBSD"
@@ -1380,7 +1397,7 @@
 #   define MACH_TYPE "ALPHA"
 #   define ALIGNMENT 8
 #   define CPP_WORDSZ 64
-#   ifndef LINUX
+#   if !defined(LINUX) && !defined(OPENBSD)
 #     define USE_GENERIC_PUSH_REGS
       /* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */
       /* fp registers in some cases when the target is a 21264.  The assembly */
@@ -1393,6 +1410,14 @@
 #	define DATASTART GC_data_start
 #	define ELFCLASS32 32
 #	define ELFCLASS64 64
+#	define ELF_CLASS ELFCLASS64
+#   	define CPP_WORDSZ 64
+#       define DYNAMIC_LOADING
+#   endif
+#   ifdef OPENBSD
+#	define OS_TYPE "OPENBSD"
+#	define HEURISTIC2
+#	define DATASTART GC_data_start
 #	define ELF_CLASS ELFCLASS64
 #       define DYNAMIC_LOADING
 #   endif
