*** ./include/private/gcconfig.h.orig	Thu Aug 11 21:31:22 2005
--- ./include/private/gcconfig.h	Sat Dec 10 09:46:22 2005
***************
*** 52,57 ****
--- 52,58 ----
  /* And one for OpenBSD: */
  # if defined(__OpenBSD__)
  #    define OPENBSD
+ #    warning "We're __OpenBSD__, and that's good"
  # endif
  
  /* And one for FreeBSD: */
***************
*** 226,231 ****
--- 227,236 ----
  #    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
***************
*** 321,327 ****
--- 326,347 ----
  #   define I386
  #   define OPENBSD
  #   define mach_type_known
+ #   warning "We're an i386, and that's good"
  # 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
***************
*** 845,850 ****
--- 865,878 ----
  #     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"
***************
*** 1235,1240 ****
--- 1263,1271 ----
  #   endif
  #   ifdef OPENBSD
  #	define OS_TYPE "OPENBSD"
+ #	define HEURISTIC2
+ #       define DATASTART GC_data_start
+ #       define DYNAMIC_LOADING
  #   endif
  #   ifdef FREEBSD
  #	define OS_TYPE "FREEBSD"
***************
*** 1263,1269 ****
  #   ifdef BSDI
  #	define OS_TYPE "BSDI"
  #   endif
! #   if defined(OPENBSD) || defined(NETBSD) \
          || defined(THREE86BSD) || defined(BSDI)
  #	define HEURISTIC2
  	extern char etext[];
--- 1294,1301 ----
  #   ifdef BSDI
  #	define OS_TYPE "BSDI"
  #   endif
! // must not be openbsd
! #   if defined(NETBSD) \
          || defined(THREE86BSD) || defined(BSDI)
  #	define HEURISTIC2
  	extern char etext[];
***************
*** 1549,1554 ****
--- 1581,1587 ----
  #   	   define ELFCLASS32 32
  #   	   define ELFCLASS64 64
  #   	   define ELF_CLASS ELFCLASS64
+ #	   define DYNAMIC_LOADING
  #       else		/* ECOFF, until OpenBSD/Alpha 2.7 */
  #   	   define DATASTART ((ptr_t) 0x140000000)
  #   	endif
***************
*** 1728,1733 ****
--- 1761,1771 ----
  #   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)
***************
*** 1923,1928 ****
--- 1961,1973 ----
  #   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
