From 393185426d61a45e0d7f1cb97925b7f7ae0ed278 Mon Sep 17 00:00:00 2001
From: lewie <unknown>
Date: Fri, 4 Aug 2000 23:31:44 +0000
Subject: [PATCH] [project @ 2000-08-04 23:31:43 by lewie] Port to OpenBSD from
 Thomas Nordin.  Please merge with 4.08 (you'll also need the new config.guess
 and config.sub from the previous commit).

---
 configure.in                    | 9 +++++++++
 distrib/configure-bin.in        | 2 ++
 distrib/hc-build                | 6 +++---
 ghc/compiler/nativeGen/NCG.h    | 6 ++++++
 ghc/driver/mangler/ghc-asm.lprl | 2 +-
 ghc/rts/MBlock.c                | 4 +++-
 6 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/configure.in b/configure.in
index 2551da6bd8f0..74550b121d0a 100644
--- a/configure.in
+++ b/configure.in
@@ -164,6 +164,15 @@ i[[3456]]86-*-netbsd*)
         HostVendor_CPP='unknown'
         HostOS_CPP='netbsd'
         ;;
+i[[3456]]86-*-openbsd*)
+	HostPlatform=i386-unknown-openbsd # hack again
+	TargetPlatform=i386-unknown-openbsd
+	BuildPlatform=i386-unknown-openbsd
+        HostPlatform_CPP='i386_unknown_openbsd'
+        HostArch_CPP='i386'
+        HostVendor_CPP='unknown'
+        HostOS_CPP='openbsd'
+        ;;
 i[[3456]]86-*-solaris2*)
 	HostPlatform=i386-unknown-solaris2 # hack again
 	TargetPlatform=i386-unknown-solaris2
diff --git a/distrib/configure-bin.in b/distrib/configure-bin.in
index b43fe23cf85e..2dd90f03e6c4 100644
--- a/distrib/configure-bin.in
+++ b/distrib/configure-bin.in
@@ -44,6 +44,8 @@ i[[3456]]86-*-freebsd[[3-9]]*)
 	TargetPlatform=i386-unknown-freebsd;;
 i[[3456]]86-*-netbsd*)
 	TargetPlatform=i386-unknown-netbsd;;
+i[[3456]]86-*-openbsd*)
+	TargetPlatform=i386-unknown-openbsd;;
 i[[3456]]86-*-solaris2*)
 	TargetPlatform=i386-unknown-solaris2;;
 i[[3456]]86-*-cygwin32*)
diff --git a/distrib/hc-build b/distrib/hc-build
index 6fb9f8687a70..0b1a03c67516 100644
--- a/distrib/hc-build
+++ b/distrib/hc-build
@@ -26,9 +26,9 @@ touch ghc/compiler/parser/Parser.hs
 
 echo "*** Building hsc..."
 ./configure --enable-hc-boot $configopts        || exit 1
-make boot all                                   || exit 1
+gmake boot all                                   || exit 1
 
 echo "*** Building library..."
 echo "GhcWithHscBuiltViaC=NO" >>mk/build.mk
-make -C ghc/lib clean boot all			|| exit 1
-make -C hslibs  clean boot all
+gmake -C ghc/lib clean boot all			|| exit 1
+gmake -C hslibs  clean boot all
diff --git a/ghc/compiler/nativeGen/NCG.h b/ghc/compiler/nativeGen/NCG.h
index d55e9f458ac0..e0234632f0a6 100644
--- a/ghc/compiler/nativeGen/NCG.h
+++ b/ghc/compiler/nativeGen/NCG.h
@@ -95,6 +95,12 @@ you will screw up the layout where they are used in case expressions!
 # define IF_OS_netbsd(x,y) y
 #endif
 -- - - - - - - - - - - - - - - - - - - - - - 
+#if openbsd_TARGET_OS
+# define IF_OS_openbsd(x,y) x
+#else
+# define IF_OS_openbsd(x,y) y
+#endif
+-- - - - - - - - - - - - - - - - - - - - - - 
 #if linux_TARGET_OS
 # define IF_OS_linux(x,y) x
 #else
diff --git a/ghc/driver/mangler/ghc-asm.lprl b/ghc/driver/mangler/ghc-asm.lprl
index 10b928f82964..605b6c2ad438 100644
--- a/ghc/driver/mangler/ghc-asm.lprl
+++ b/ghc/driver/mangler/ghc-asm.lprl
@@ -126,7 +126,7 @@ sub init_TARGET_STUFF {
     $T_HDR_direct   = "\t.SPACE \$TEXT\$\n\t.SUBSPA \$CODE\$\n\t\.align 4\n";
 
     #--------------------------------------------------------#
-    } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd2|netbsd|nextstep3|cygwin32|mingw32)$/ ) {
+    } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd2|netbsd|openbsd|nextstep3|cygwin32|mingw32)$/ ) {
 				# NeXT added but not tested. CaS
 
     $T_STABBY	    = 1; # 1 iff .stab things (usually if a.out format)
diff --git a/ghc/rts/MBlock.c b/ghc/rts/MBlock.c
index c0a619fbad87..0159dfe4b4a3 100644
--- a/ghc/rts/MBlock.c
+++ b/ghc/rts/MBlock.c
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: MBlock.c,v 1.15 2000/04/03 15:24:21 rrt Exp $
+ * $Id: MBlock.c,v 1.16 2000/08/04 23:31:44 lewie Exp $
  *
  * (c) The GHC Team 1998-1999
  *
@@ -51,6 +51,8 @@
 /* NetBSD i386 shared libs are at 0x40000000
  */
 #define ASK_FOR_MEM_AT 0x50000000
+#elif openbsd_TARGET_OS
+#define ASK_FOR_MEM_AT 0x50000000
 #elif linux_TARGET_OS
 /* Any ideas?
  */
-- 
GitLab