From 877d64b2d1c188a9ede2f86f8c6315912e219b3c Mon Sep 17 00:00:00 2001 From: proff Date: Wed, 15 Dec 1999 06:05:15 +0000 Subject: netbsd patches for GHC/Haskell. --- lang/ghc/patches/patch-aa | 63 +++++++++++++++++++++++++++++++++++++++++++++++ lang/ghc/patches/patch-ab | 15 +++++++++++ lang/ghc/patches/patch-ac | 37 ++++++++++++++++++++++++++++ lang/ghc/patches/patch-ad | 22 +++++++++++++++++ lang/ghc/patches/patch-ae | 22 +++++++++++++++++ lang/ghc/patches/patch-af | 13 ++++++++++ 6 files changed, 172 insertions(+) create mode 100644 lang/ghc/patches/patch-aa create mode 100644 lang/ghc/patches/patch-ab create mode 100644 lang/ghc/patches/patch-ac create mode 100644 lang/ghc/patches/patch-ad create mode 100644 lang/ghc/patches/patch-ae create mode 100644 lang/ghc/patches/patch-af (limited to 'lang/ghc') diff --git a/lang/ghc/patches/patch-aa b/lang/ghc/patches/patch-aa new file mode 100644 index 00000000000..1e11a6ac943 --- /dev/null +++ b/lang/ghc/patches/patch-aa @@ -0,0 +1,63 @@ +$NetBSD: patch-aa,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- ghc/lib/misc/SocketPrim.lhs Wed Sep 15 09:06:26 1999 ++++ ghc/lib/misc/SocketPrim.lhs Tue Dec 14 13:00:08 1999 +@@ -941,10 +941,56 @@ + + #endif + ++#if netbsd_TARGET_OS || netbsd_elf_TARGET_OS ++ ++data Family = ++ AF_UNSPEC -- unspecified ++ | AF_UNIX -- local to host (pipes, portals) ++ | AF_INET -- internetwork: UDP, TCP, etc. ++ | AF_IMPLINK -- arpanet imp addresses ++ | AF_PUP -- pup protocols: e.g. BSP ++ | AF_CHAOS -- mit CHAOS protocols ++ | AF_NS -- XEROX NS protocols ++ | AF_ISO -- ISO protocols ++-- | AF_OSI is the same as AF_ISO ++ | AF_ECMA -- european computer manufacturers ++ | AF_DATAKIT -- datakit protocols ++ | AF_CCITT -- CCITT protocols, X.25 etc ++ | AF_SNA -- IBM SNA ++ | AF_DECnet -- DECnet ++ | AF_DLI -- DEC Direct data link interface ++ | AF_LAT -- LAT ++ | AF_HYLINK -- NSC Hyperchannel ++ | AF_APPLETALK -- Apple Talk ++ | AF_ROUTE -- Internal Routing Protocol ++ | AF_LINK -- Link layer interface ++ | Pseudo_AF_XTP -- eXpress Transfer Protocol (no AF) ++ | AF_COIP -- connection-oriented IP, aka ST II ++ | AF_CNT -- Computer Network Technology ++ | Psuedo_AF_RTIP -- Help Identify RTIP packets ++ | AF_IPX -- Novell Internet Protocol ++ | AF_INET6 -- IPv6 ++ | Pseudo_AF_PIP -- Help Identify PIP packets ++ | AF_ISDN -- Integrated Services Digital Network ++-- | AF_E164 is the same as AF_ISDN ++ | AF_NATM -- native ATM access ++ | AF_ARP -- (rev.) addr. res. prot. (RFC 826) ++ | Pseudo_AF_KEY -- Internal key-management function ++ | Pseudo_AF_HDRCMPLT -- Used by BPF to not rewrite hdrs in iface output ++ | AF_MAX ++ deriving (Eq, Ord, Ix, Show) ++ ++packFamily = index (AF_UNSPEC, AF_MAX) ++unpackFamily family = (range (AF_UNSPEC, AF_MAX))!!family ++ ++#endif ++ ++ + -- Alpha running OSF or a SPARC with SunOS, rather than Solaris. + + #if osf1_TARGET_OS || osf3_TARGET_OS || sunos4_TARGET_OS || hpux_TARGET_OS || \ +- aix_TARGET_OS || freebsd2_TARGET_OS || freebsd3_TARGET_OS ++ aix_TARGET_OS || freebsd2_TARGET_OS || freebsd3_TARGET_OS || \ ++ netbsd_TARGET_OS || netbsd_elf_TARGET_OS + data SocketType = + Stream + | Datagram +diff -u -r old/fptools/ghc/rts/MBlock.c work.i386/fptools/ghc/rts/MBlock.c diff --git a/lang/ghc/patches/patch-ab b/lang/ghc/patches/patch-ab new file mode 100644 index 00000000000..ccb354b74ef --- /dev/null +++ b/lang/ghc/patches/patch-ab @@ -0,0 +1,15 @@ +$NetBSD: patch-ab,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- ghc/rts/MBlock.c Wed Sep 15 09:06:54 1999 ++++ ghc/rts/MBlock.c Tue Dec 14 10:27:15 1999 +@@ -47,6 +47,10 @@ + */ + #define ASK_FOR_MEM_AT 0x50000000 + ++#elif netbsd_TARGET_OS ++/* NetBSD i386 shared libs are at 0x40000000 ++ */ ++#define ASK_FOR_MEM_AT 0x50000000 + #elif linux_TARGET_OS + /* Any ideas? + */ diff --git a/lang/ghc/patches/patch-ac b/lang/ghc/patches/patch-ac new file mode 100644 index 00000000000..e860375bced --- /dev/null +++ b/lang/ghc/patches/patch-ac @@ -0,0 +1,37 @@ +$NetBSD: patch-ac,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- ghc/driver/ghc-asm.lprl Wed Sep 15 09:05:45 1999 ++++ ghc/driver/ghc-asm.lprl Tue Dec 14 22:09:04 1999 +@@ -104,7 +104,7 @@ + $T_HDR_direct = "\t.SPACE \$TEXT\$\n\t.SUBSPA \$CODE\$\n\t\.align 4\n"; + + #--------------------------------------------------------# +- } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd2|nextstep3|cygwin32|mingw32)$/ ) { ++ } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd2|netbsd|nextstep3|cygwin32|mingw32)$/ ) { + # NeXT added but not tested. CaS + + $T_STABBY = 1; # 1 iff .stab things (usually if a.out format) +@@ -135,12 +135,12 @@ + $T_HDR_direct = "\.text\n\t\.align 2,0x90\n"; + + #--------------------------------------------------------# +- } elsif ( $TargetPlatform =~ /^i386-.*-(solaris2|linux|freebsd3)$/ ) { ++ } elsif ( $TargetPlatform =~ /^i386-.*-(solaris2|linux|freebsd3|netbsd_elf)$/ ) { + + $T_STABBY = 0; # 1 iff .stab things (usually if a.out format) + $T_US = ''; # _ if symbols have an underscore on the front + $T_PRE_APP = # regexp that says what comes before APP/NO_APP +- ($TargetPlatform =~ /-(linux|freebsd3)$/) ? '#' : '/' ; ++ ($TargetPlatform =~ /-(linux|freebsd3|netbsd_elf)$/) ? '#' : '/' ; + $T_CONST_LBL = '^\.LC(\d+):$'; # regexp for what such a lbl looks like + $T_POST_LBL = ':'; + $T_X86_PRE_LLBL_PAT = '\.L'; +@@ -150,7 +150,7 @@ + $T_MOVE_DIRVS = '^(\s*(\.(p2)?align\s+\d+(,0x90)?|\.globl\s+\S+|\.text|\.data|\.section\s+.*|\.type\s+.*|\.Lfe.*\n\t\.size\s+.*|\.size\s+.*|\.ident.*)\n)'; + $T_COPY_DIRVS = '\.(globl)'; + +- if ( $TargetPlatform =~ /freebsd3/ ) { ++ if ( $TargetPlatform =~ /freebsd3|netbsd_elf/ ) { + $T_hsc_cc_PAT = '\.ascii.*\)(hsc|cc) (.*)\\\\11"\n\t\.ascii\s+"(.*)\\\\0"'; + } else { + $T_hsc_cc_PAT = '\.string.*\)(hsc|cc) (.*)\\\\t(.*)"'; diff --git a/lang/ghc/patches/patch-ad b/lang/ghc/patches/patch-ad new file mode 100644 index 00000000000..38590887e4b --- /dev/null +++ b/lang/ghc/patches/patch-ad @@ -0,0 +1,22 @@ +$NetBSD: patch-ad,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- /p/lang/ghc/old/fptools/configure Wed Sep 15 09:13:41 1999 ++++ configure Wed Dec 15 16:37:27 1999 +@@ -786,7 +786,16 @@ + HostPlatform_CPP='i386_unknown_netbsd' + HostArch_CPP='i386' + HostVendor_CPP='unknown' +- HostOS_CPP='netbsd' ++ if test "$HASKELL_OBJ_FMT" = "a.out"; then ++ HostOS_CPP='netbsd' ++ else ++ if test "$HASKELL_OBJ_FMT" = "ELF"; then ++ HostOS_CPP='netbsd_elf' ++ else ++ echo bad \$HASKELL_OBJ_FMT = "$HASKELL_OBJ_FMT" ++ exit 1 ++ fi ++ fi + ;; + i[3456]86-*-solaris2*) + HostPlatform=i386-unknown-solaris2 # hack again diff --git a/lang/ghc/patches/patch-ae b/lang/ghc/patches/patch-ae new file mode 100644 index 00000000000..47b6589481b --- /dev/null +++ b/lang/ghc/patches/patch-ae @@ -0,0 +1,22 @@ +$NetBSD: patch-ae,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- /p/lang/ghc/old/fptools/configure.in Wed Sep 15 09:03:35 1999 ++++ configure.in Wed Dec 15 16:37:23 1999 +@@ -138,7 +138,16 @@ + HostPlatform_CPP='i386_unknown_netbsd' + HostArch_CPP='i386' + HostVendor_CPP='unknown' +- HostOS_CPP='netbsd' ++ if test "$HASKELL_OBJ_FMT" = "a.out"; then ++ HostOS_CPP='netbsd' ++ else ++ if test "$HASKELL_OBJ_FMT" = "ELF"; then ++ HostOS_CPP='netbsd_elf' ++ else ++ echo bad \$HASKELL_OBJ_FMT = "$HASKELL_OBJ_FMT" ++ exit 1 ++ fi ++ fi + ;; + i[[3456]]86-*-solaris2*) + HostPlatform=i386-unknown-solaris2 # hack again diff --git a/lang/ghc/patches/patch-af b/lang/ghc/patches/patch-af new file mode 100644 index 00000000000..a8b02bd3323 --- /dev/null +++ b/lang/ghc/patches/patch-af @@ -0,0 +1,13 @@ +$NetBSD: patch-af,v 1.1.1.1 1999/12/15 06:05:15 proff Exp $ + +--- /p/lang/ghc/old/fptools/Makefile Wed Sep 15 09:03:33 1999 ++++ Makefile Wed Dec 15 16:04:58 1999 +@@ -15,7 +15,7 @@ + # on whether we do `make install' or not. Having a $(ifeq ... ) would + # be preferable.. + CURRENT_TARGET = $(MAKECMDGOALS) +-SUBDIRS = $(shell if (test x$(CURRENT_TARGET) = xinstall) ; then echo $(ProjectsToInstall); else echo $(ProjectsToBuild); fi) ++SUBDIRS = $(shell if test x$(CURRENT_TARGET) = xinstall ; then echo $(ProjectsToInstall); else echo $(ProjectsToBuild); fi) + + ifneq "$(Project)" "" + include $(shell echo $(Project) | tr A-Z a-z)/mk/config.mk -- cgit v1.2.3