diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2022-10-21 14:50:36 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2022-10-27 13:25:15 +0200 |
commit | 82791af033c2cf40e5d3279ff7db5159c0706725 (patch) | |
tree | e7c0afbb08d840ec2268a29532fc25e1e09687e8 /gnu/packages/patches | |
parent | bbaf3bcb45e52170ccf886d9d120a918e11b71b0 (diff) | |
download | guix-82791af033c2cf40e5d3279ff7db5159c0706725.tar.gz |
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.patch | 708 |
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 |