summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-10-21 14:50:36 +0200
committerRicardo Wurmus <rekado@elephly.net>2022-10-27 13:25:15 +0200
commit82791af033c2cf40e5d3279ff7db5159c0706725 (patch)
treee7c0afbb08d840ec2268a29532fc25e1e09687e8 /gnu/packages/patches
parentbbaf3bcb45e52170ccf886d9d120a918e11b71b0 (diff)
gnu: ghc-4: Build full compiler using provided *.hc files.
* gnu/packages/haskell.scm (ghc-4)[source]: Remove patch. [arguments]: Change to build full compiler. [native-inputs]: Remove default binutils and gcc; add tarball for hc files. * gnu/packages/patches/ghc-4.patch: Delete patch. * gnu/local.mk (dist_patch_DATA): Remove it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/ghc-4.patch708
1 files changed, 0 insertions, 708 deletions
diff --git a/gnu/packages/patches/ghc-4.patch b/gnu/packages/patches/ghc-4.patch
deleted file mode 100644
index 87484f575d..0000000000
--- a/gnu/packages/patches/ghc-4.patch
+++ /dev/null
@@ -1,708 +0,0 @@
-The GHC 4 runtime system was written before GCC 3.5 deprecated lvalue casts.
-The runtime system's sources are littered with these casts, so early versions
-of this patch were dedicated to rewriting those statements to a standards
-compliant form. Unfortunately, this led to subtle breakage, so instead we
-build with GCC 2.95.
-
-Problematic for newer versions of GCC is also the assembly in the bundled
-sources of GMP 2.0.2, which spans multiple lines without escaping line breaks.
-
-TODO: We aren't yet using anything under ghc/compiler, so the patches there
-aren't needed at this time. The intent was to ensure that the compiler
-sources can be used even when they are interpreted by Hugs.
-
-TODO: There are some more problems with the Haskell sources. Some files have
-too many commas (both at the end of the line and at the beginning of the next
-line). Others use a trailing hash, which Hugs doesn't understand.
-
-TODO: Hugs doesn't understand "unsafe" in hslib/lang/Storable.lhs
-
-diff --git a/ghc/compiler/main/CmdLineOpts.lhs b/ghc/compiler/main/CmdLineOpts.lhs
-index ca1b58d..074fcaf 100644
---- a/ghc/compiler/main/CmdLineOpts.lhs
-+++ b/ghc/compiler/main/CmdLineOpts.lhs
-@@ -163,9 +163,9 @@ import Constants -- Default values for some flags
-
- import FastString ( headFS )
- import Maybes ( assocMaybe, firstJust, maybeToBool )
--import Panic ( panic, panic# )
-+import Panic ( panic, panic' )
-
--#if __GLASGOW_HASKELL__ < 301
-+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 301
- import ArrBase ( Array(..) )
- #else
- import PrelArr ( Array(..) )
-diff --git a/ghc/compiler/prelude/PrimOp.lhs b/ghc/compiler/prelude/PrimOp.lhs
-index 7a0627d..59802c4 100644
---- a/ghc/compiler/prelude/PrimOp.lhs
-+++ b/ghc/compiler/prelude/PrimOp.lhs
-@@ -502,7 +502,7 @@ tagOf_PrimOp UnblockAsyncExceptionsOp = ILIT(260)
- tagOf_PrimOp DataToTagOp = ILIT(261)
- tagOf_PrimOp TagToEnumOp = ILIT(262)
-
--tagOf_PrimOp op = pprPanic# "tagOf_PrimOp: pattern-match" (ppr op)
-+tagOf_PrimOp op = pprPanic' "tagOf_PrimOp: pattern-match" (ppr op)
-
- instance Eq PrimOp where
- op1 == op2 = tagOf_PrimOp op1 _EQ_ tagOf_PrimOp op2
-diff --git a/ghc/compiler/utils/Outputable.lhs b/ghc/compiler/utils/Outputable.lhs
-index 19ad666..89d07cb 100644
---- a/ghc/compiler/utils/Outputable.lhs
-+++ b/ghc/compiler/utils/Outputable.lhs
-@@ -42,8 +42,8 @@ module Outputable (
-
-
- -- error handling
-- pprPanic, pprPanic#, pprError, pprTrace, assertPprPanic, warnPprTrace,
-- trace, panic, panic#, assertPanic
-+ pprPanic, pprPanic', pprError, pprTrace, assertPprPanic, warnPprTrace,
-+ trace, panic, panic', assertPanic
- ) where
-
- #include "HsVersions.h"
-@@ -420,7 +420,7 @@ pprPanic = pprAndThen panic
- pprError = pprAndThen error
- pprTrace = pprAndThen trace
-
--pprPanic# heading pretty_msg = panic# (show (doc PprDebug))
-+pprPanic' heading pretty_msg = panic' (show (doc PprDebug))
- where
- doc = text heading <+> pretty_msg
-
-diff --git a/ghc/compiler/utils/Panic.lhs b/ghc/compiler/utils/Panic.lhs
-index 907d8aa..37a2d87 100644
---- a/ghc/compiler/utils/Panic.lhs
-+++ b/ghc/compiler/utils/Panic.lhs
-@@ -9,7 +9,7 @@ It's hard to put these functions anywhere else without causing
- some unnecessary loops in the module dependency graph.
-
- \begin{code}
--module Panic ( panic, panic#, assertPanic, trace ) where
-+module Panic ( panic, panic', assertPanic, trace ) where
-
- import IOExts ( trace )
-
-@@ -27,8 +27,8 @@ panic x = error ("panic! (the `impossible' happened):\n\t"
- -- what TAG_ is with GHC at the moment. Ugh. (Simon)
- -- No, man -- Too Beautiful! (Will)
-
--panic# :: String -> FAST_INT
--panic# s = case (panic s) of () -> ILIT(0)
-+panic' :: String -> FAST_INT
-+panic' s = case (panic s) of () -> ILIT(0)
-
- assertPanic :: String -> Int -> a
- assertPanic file line = panic ("ASSERT failed! file " ++ file ++ ", line " ++ show line)
-diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h
-index 8b8c2f9..7f43ab0 100644
---- a/ghc/includes/PrimOps.h
-+++ b/ghc/includes/PrimOps.h
-@@ -893,6 +893,7 @@ EXTFUN_RTS(mkForeignObjzh_fast);
- #define STG_SIG_ERR (-3)
- #define STG_SIG_HAN (-4)
-
-+#include <signal.h>
- extern StgInt sig_install (StgInt, StgInt, StgStablePtr, sigset_t *);
- #define stg_sig_default(sig,mask) sig_install(sig,STG_SIG_DFL,0,(sigset_t *)mask)
- #define stg_sig_ignore(sig,mask) sig_install(sig,STG_SIG_IGN,0,(sigset_t *)mask)
-diff --git a/ghc/rts/RtsFlags.c b/ghc/rts/RtsFlags.c
-index a05036f..9cd6c83 100644
---- a/ghc/rts/RtsFlags.c
-+++ b/ghc/rts/RtsFlags.c
-@@ -1132,8 +1132,7 @@ process_gran_option(int arg, int *rts_argc, char *rts_argv[], rtsBool *error)
- } else if (RtsFlags.GranFlags.proc > MAX_PROC ||
- RtsFlags.GranFlags.proc < 1)
- {
-- fprintf(stderr,"setupRtsFlags: no more than %u processors
--allowed\n",
-+ fprintf(stderr,"setupRtsFlags: no more than %u processors allowed\n",
- MAX_PROC);
- *error = rtsTrue;
- }
-diff --git a/ghc/rts/gmp/longlong.h b/ghc/rts/gmp/longlong.h
-index 382fcc0..0cf79fa 100644
---- a/ghc/rts/gmp/longlong.h
-+++ b/ghc/rts/gmp/longlong.h
-@@ -106,7 +106,7 @@ MA 02111-1307, USA. */
-
- #if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %1,%4,%5
-+ __asm__ ("add %1,%4,%5\n\
- addc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -115,7 +115,7 @@ MA 02111-1307, USA. */
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %1,%4,%5
-+ __asm__ ("sub %1,%4,%5\n\
- subc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -173,7 +173,7 @@ extern UDItype __udiv_qrnnd ();
-
- #if defined (__arm__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("adds %1, %4, %5
-+ __asm__ ("adds %1, %4, %5\n\
- adc %0, %2, %3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -182,7 +182,7 @@ extern UDItype __udiv_qrnnd ();
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subs %1, %4, %5
-+ __asm__ ("subs %1, %4, %5\n\
- sbc %0, %2, %3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -191,18 +191,18 @@ extern UDItype __udiv_qrnnd ();
- "r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
- #define umul_ppmm(xh, xl, a, b) \
-- __asm__ ("%@ Inlined umul_ppmm
-- mov %|r0, %2, lsr #16
-- mov %|r2, %3, lsr #16
-- bic %|r1, %2, %|r0, lsl #16
-- bic %|r2, %3, %|r2, lsl #16
-- mul %1, %|r1, %|r2
-- mul %|r2, %|r0, %|r2
-- mul %|r1, %0, %|r1
-- mul %0, %|r0, %0
-- adds %|r1, %|r2, %|r1
-- addcs %0, %0, #65536
-- adds %1, %1, %|r1, lsl #16
-+ __asm__ ("%@ Inlined umul_ppmm\n\
-+ mov %|r0, %2, lsr #16\n\
-+ mov %|r2, %3, lsr #16\n\
-+ bic %|r1, %2, %|r0, lsl #16\n\
-+ bic %|r2, %3, %|r2, lsl #16\n\
-+ mul %1, %|r1, %|r2\n\
-+ mul %|r2, %|r0, %|r2\n\
-+ mul %|r1, %0, %|r1\n\
-+ mul %0, %|r0, %0\n\
-+ adds %|r1, %|r2, %|r1\n\
-+ addcs %0, %0, #65536\n\
-+ adds %1, %1, %|r1, lsl #16\n\
- adc %0, %0, %|r1, lsr #16" \
- : "=&r" ((USItype)(xh)), \
- "=r" ((USItype)(xl)) \
-@@ -243,7 +243,7 @@ extern UDItype __udiv_qrnnd ();
-
- #if defined (__gmicro__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add.w %5,%1
-+ __asm__ ("add.w %5,%1\n\
- addx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
-@@ -252,7 +252,7 @@ extern UDItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub.w %5,%1
-+ __asm__ ("sub.w %5,%1\n\
- subx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
-@@ -282,7 +282,7 @@ extern UDItype __udiv_qrnnd ();
-
- #if defined (__hppa) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %4,%5,%1
-+ __asm__ ("add %4,%5,%1\n\
- addc %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -291,7 +291,7 @@ extern UDItype __udiv_qrnnd ();
- "%rM" ((USItype)(al)), \
- "rM" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %4,%5,%1
-+ __asm__ ("sub %4,%5,%1\n\
- subb %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -330,21 +330,21 @@ extern USItype __udiv_qrnnd ();
- do { \
- USItype __tmp; \
- __asm__ ( \
-- "ldi 1,%0
-- extru,= %1,15,16,%%r0 ; Bits 31..16 zero?
-- extru,tr %1,15,16,%1 ; No. Shift down, skip add.
-- ldo 16(%0),%0 ; Yes. Perform add.
-- extru,= %1,23,8,%%r0 ; Bits 15..8 zero?
-- extru,tr %1,23,8,%1 ; No. Shift down, skip add.
-- ldo 8(%0),%0 ; Yes. Perform add.
-- extru,= %1,27,4,%%r0 ; Bits 7..4 zero?
-- extru,tr %1,27,4,%1 ; No. Shift down, skip add.
-- ldo 4(%0),%0 ; Yes. Perform add.
-- extru,= %1,29,2,%%r0 ; Bits 3..2 zero?
-- extru,tr %1,29,2,%1 ; No. Shift down, skip add.
-- ldo 2(%0),%0 ; Yes. Perform add.
-- extru %1,30,1,%1 ; Extract bit 1.
-- sub %0,%1,%0 ; Subtract it.
-+ "ldi 1,%0\n\
-+ extru,= %1,15,16,%%r0 ; Bits 31..16 zero?\n\
-+ extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n\
-+ ldo 16(%0),%0 ; Yes. Perform add.\n\
-+ extru,= %1,23,8,%%r0 ; Bits 15..8 zero?\n\
-+ extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n\
-+ ldo 8(%0),%0 ; Yes. Perform add.\n\
-+ extru,= %1,27,4,%%r0 ; Bits 7..4 zero?\n\
-+ extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n\
-+ ldo 4(%0),%0 ; Yes. Perform add.\n\
-+ extru,= %1,29,2,%%r0 ; Bits 3..2 zero?\n\
-+ extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n\
-+ ldo 2(%0),%0 ; Yes. Perform add.\n\
-+ extru %1,30,1,%1 ; Extract bit 1.\n\
-+ sub %0,%1,%0 ; Subtract it.\n\
- " : "=r" (count), "=r" (__tmp) : "1" (x)); \
- } while (0)
- #endif /* hppa */
-@@ -392,7 +392,7 @@ extern USItype __udiv_qrnnd ();
-
- #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl %5,%1
-+ __asm__ ("addl %5,%1\n\
- adcl %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -401,7 +401,7 @@ extern USItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl %5,%1
-+ __asm__ ("subl %5,%1\n\
- sbbl %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -514,7 +514,7 @@ extern USItype __udiv_qrnnd ();
-
- #if (defined (__mc68000__) || defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add%.l %5,%1
-+ __asm__ ("add%.l %5,%1\n\
- addx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
-@@ -523,7 +523,7 @@ extern USItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub%.l %5,%1
-+ __asm__ ("sub%.l %5,%1\n\
- subx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
-@@ -562,27 +562,27 @@ extern USItype __udiv_qrnnd ();
- #else /* not mc68020 */
- #define umul_ppmm(xh, xl, a, b) \
- do { USItype __umul_tmp1, __umul_tmp2; \
-- __asm__ ("| Inlined umul_ppmm
-- move%.l %5,%3
-- move%.l %2,%0
-- move%.w %3,%1
-- swap %3
-- swap %0
-- mulu %2,%1
-- mulu %3,%0
-- mulu %2,%3
-- swap %2
-- mulu %5,%2
-- add%.l %3,%2
-- jcc 1f
-- add%.l %#0x10000,%0
--1: move%.l %2,%3
-- clr%.w %2
-- swap %2
-- swap %3
-- clr%.w %3
-- add%.l %3,%1
-- addx%.l %2,%0
-+ __asm__ ("| Inlined umul_ppmm\n\
-+ move%.l %5,%3\n\
-+ move%.l %2,%0\n\
-+ move%.w %3,%1\n\
-+ swap %3\n\
-+ swap %0\n\
-+ mulu %2,%1\n\
-+ mulu %3,%0\n\
-+ mulu %2,%3\n\
-+ swap %2\n\
-+ mulu %5,%2\n\
-+ add%.l %3,%2\n\
-+ jcc 1f\n\
-+ add%.l %#0x10000,%0\n\
-+1: move%.l %2,%3\n\
-+ clr%.w %2\n\
-+ swap %2\n\
-+ swap %3\n\
-+ clr%.w %3\n\
-+ add%.l %3,%1\n\
-+ addx%.l %2,%0\n\
- | End inlined umul_ppmm" \
- : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
- "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
-@@ -595,7 +595,7 @@ extern USItype __udiv_qrnnd ();
-
- #if defined (__m88000__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addu.co %1,%r4,%r5
-+ __asm__ ("addu.co %1,%r4,%r5\n\
- addu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -604,7 +604,7 @@ extern USItype __udiv_qrnnd ();
- "%rJ" ((USItype)(al)), \
- "rJ" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subu.co %1,%r4,%r5
-+ __asm__ ("subu.co %1,%r4,%r5\n\
- subu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -663,8 +663,8 @@ extern USItype __udiv_qrnnd ();
- "d" ((USItype)(v)))
- #else
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("multu %2,%3
-- mflo %0
-+ __asm__ ("multu %2,%3\n\
-+ mflo %0\n\
- mfhi %1" \
- : "=d" ((USItype)(w0)), \
- "=d" ((USItype)(w1)) \
-@@ -685,8 +685,8 @@ extern USItype __udiv_qrnnd ();
- "d" ((UDItype)(v)))
- #else
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("dmultu %2,%3
-- mflo %0
-+ __asm__ ("dmultu %2,%3\n\
-+ mflo %0\n\
- mfhi %1" \
- : "=d" ((UDItype)(w0)), \
- "=d" ((UDItype)(w1)) \
-@@ -855,7 +855,7 @@ extern USItype __udiv_qrnnd ();
-
- #if defined (__pyr__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addw %5,%1
-+ __asm__ ("addw %5,%1\n\
- addwc %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -864,7 +864,7 @@ extern USItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subw %5,%1
-+ __asm__ ("subw %5,%1\n\
- subwb %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -877,7 +877,7 @@ extern USItype __udiv_qrnnd ();
- ({union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
-- __asm__ ("movw %1,%R0
-+ __asm__ ("movw %1,%R0\n\
- uemul %2,%0" \
- : "=&r" (__xx.__ll) \
- : "g" ((USItype) (u)), \
-@@ -887,7 +887,7 @@ extern USItype __udiv_qrnnd ();
-
- #if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("a %1,%5
-+ __asm__ ("a %1,%5\n\
- ae %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -896,7 +896,7 @@ extern USItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "r" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("s %1,%5
-+ __asm__ ("s %1,%5\n\
- se %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -908,25 +908,25 @@ extern USItype __udiv_qrnnd ();
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ( \
-- "s r2,r2
-- mts r10,%2
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- cas %0,r2,r0
-+ "s r2,r2\n\
-+ mts r10,%2\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ m r2,%3\n\
-+ cas %0,r2,r0\n\
- mfs r10,%1" \
- : "=r" ((USItype)(ph)), \
- "=r" ((USItype)(pl)) \
-@@ -957,8 +957,8 @@ extern USItype __udiv_qrnnd ();
- #if defined (__sh2__) && W_TYPE_SIZE == 32
- #define umul_ppmm(w1, w0, u, v) \
- __asm__ ( \
-- "dmulu.l %2,%3
-- sts macl,%1
-+ "dmulu.l %2,%3\n\
-+ sts macl,%1\n\
- sts mach,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
-@@ -970,7 +970,7 @@ extern USItype __udiv_qrnnd ();
-
- #if defined (__sparc__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addcc %r4,%5,%1
-+ __asm__ ("addcc %r4,%5,%1\n\
- addx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -980,7 +980,7 @@ extern USItype __udiv_qrnnd ();
- "rI" ((USItype)(bl)) \
- __CLOBBER_CC)
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subcc %r4,%5,%1
-+ __asm__ ("subcc %r4,%5,%1\n\
- subx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
-@@ -1027,44 +1027,44 @@ extern USItype __udiv_qrnnd ();
- "r" ((USItype)(v)))
- #define UMUL_TIME 5
- #define udiv_qrnnd(q, r, n1, n0, d) \
-- __asm__ ("! Inlined udiv_qrnnd
-- wr %%g0,%2,%%y ! Not a delayed write for sparclite
-- tst %%g0
-- divscc %3,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%%g1
-- divscc %%g1,%4,%0
-- rd %%y,%1
-- bl,a 1f
-- add %1,%4,%1
-+ __asm__ ("! Inlined udiv_qrnnd\n\
-+ wr %%g0,%2,%%y ! Not a delayed write for sparclite\n\
-+ tst %%g0\n\
-+ divscc %3,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%%g1\n\
-+ divscc %%g1,%4,%0\n\
-+ rd %%y,%1\n\
-+ bl,a 1f\n\
-+ add %1,%4,%1\n\
- 1: ! End of inline udiv_qrnnd" \
- : "=r" ((USItype)(q)), \
- "=r" ((USItype)(r)) \
-@@ -1085,45 +1085,45 @@ extern USItype __udiv_qrnnd ();
- /* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */
- #ifndef umul_ppmm
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("! Inlined umul_ppmm
-- wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr
-- sra %3,31,%%g2 ! Don't move this insn
-- and %2,%%g2,%%g2 ! Don't move this insn
-- andcc %%g0,0,%%g1 ! Don't move this insn
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,0,%%g1
-- add %%g1,%%g2,%0
-+ __asm__ ("! Inlined umul_ppmm\n\
-+ wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n\
-+ sra %3,31,%%g2 ! Don't move this insn\n\
-+ and %2,%%g2,%%g2 ! Don't move this insn\n\
-+ andcc %%g0,0,%%g1 ! Don't move this insn\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,%3,%%g1\n\
-+ mulscc %%g1,0,%%g1\n\
-+ add %%g1,%%g2,%0\n\
- rd %%y,%1" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
-@@ -1147,7 +1147,7 @@ extern USItype __udiv_qrnnd ();
-
- #if defined (__vax__) && W_TYPE_SIZE == 32
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl2 %5,%1
-+ __asm__ ("addl2 %5,%1\n\
- adwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
-@@ -1156,7 +1156,7 @@ extern USItype __udiv_qrnnd ();
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl2 %5,%1
-+ __asm__ ("subl2 %5,%1\n\
- sbwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
-diff --git a/ghc/lib/std/CPUTime.lhs b/ghc/lib/std/CPUTime.lhs
---- a/ghc/lib/std/CPUTime.lhs
-+++ b/ghc/lib/std/CPUTime.lhs
-@@ -9,6 +9,6 @@
- module CPUTime
- (
- getCPUTime, -- :: IO Integer
-- cpuTimePrecision -- :: Integer
-+ cpuTimePrecision -- :: Integer
- ) where
- \end{code}
- \ No newline at end of file