diff -ur nhc98-1.16/src/runtime/Integer/alloca.c nhc98-1.16.new/src/runtime/Integer/alloca.c --- nhc98-1.16/src/runtime/Integer/alloca.c 1999-10-11 13:50:23.000000000 +0200 +++ nhc98-1.16.new/src/runtime/Integer/alloca.c 2004-12-06 13:41:59.000000000 +0100 @@ -4,5 +4,5 @@ void *alloca (unsigned size) { fprintf(stderr,"Falilure alloca %d called:-(\n",size); - abort(-1); + abort(); } diff -ur nhc98-1.16/src/runtime/Integer/asmlong.h nhc98-1.16.new/src/runtime/Integer/asmlong.h --- nhc98-1.16/src/runtime/Integer/asmlong.h 2003-02-27 11:19:30.000000000 +0100 +++ nhc98-1.16.new/src/runtime/Integer/asmlong.h 2004-12-06 13:41:59.000000000 +0100 @@ -1,12 +1,12 @@ #if defined (__a29k__) || defined (___AM29K__) #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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \ : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \ "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \ : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \ @@ -31,13 +31,13 @@ #if defined (__arm__) #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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \ : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \ "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \ : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \ @@ -46,13 +46,13 @@ #if defined (__gmicro__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("add.w %5,%1 + __asm__ ("add.w %5,%1 \n\ addx %3,%0" \ : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\ : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(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" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\ : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ @@ -74,13 +74,13 @@ #if defined (__hppa) #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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\ "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("sub %5,%4,%1 + __asm__ ("sub %5,%4,%1 \n\ subb %3,%2,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \ @@ -89,13 +89,13 @@ #if defined (__i386__) || defined (__i486__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addl %5,%1 + __asm__ ("addl %5,%1 \n\ adcl %3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subl %5,%1 + __asm__ ("subl %5,%1 \n\ sbbl %3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ @@ -157,13 +157,13 @@ #if defined (___IBMR2__) /* IBM RS6000 */ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("a %1,%4,%5 + __asm__ ("a %1,%4,%5 \n\ ae %0,%2,%3" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\ "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("sf %1,%5,%4 + __asm__ ("sf %1,%5,%4 \n\ sfe %0,%3,%2" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \ @@ -264,31 +264,31 @@ : "od" ((unsigned long int)(x)), "n" (0)) #else /* not mc68020 */ #define umul_ppmm(xh, xl, a, b) \ - __asm__ ("| Inlined umul_ppmm - movel %2,d0 - movel %3,d1 - movel d0,d2 - swap d0 - movel d1,d3 - swap d1 - movew d2,d4 - mulu d3,d4 - mulu d1,d2 - mulu d0,d3 - mulu d0,d1 - movel d4,d0 - eorw d0,d0 - swap d0 - addl d0,d2 - addl d3,d2 - jcc 1f - addl #65536,d1 -1: swap d2 - moveq #0,d0 - movew d2,d0 - movew d4,d2 - movel d2,%1 - addl d1,d0 + __asm__ ("| Inlined umul_ppmm \n\ + movel %2,d0 \n\ + movel %3,d1 \n\ + movel d0,d2 \n\ + swap d0 \n\ + movel d1,d3 \n\ + swap d1 \n\ + movew d2,d4 \n\ + mulu d3,d4 \n\ + mulu d1,d2 \n\ + mulu d0,d3 \n\ + mulu d0,d1 \n\ + movel d4,d0 \n\ + eorw d0,d0 \n\ + swap d0 \n\ + addl d0,d2 \n\ + addl d3,d2 \n\ + jcc 1f \n\ + addl #65536,d1 \n\ +1: swap d2 \n\ + moveq #0,d0 \n\ + movew d2,d0 \n\ + movew d4,d2 \n\ + movel d2,%1 \n\ + addl d1,d0 \n\ movel d0,%0" \ : "=g" ((unsigned long int)(xh)), "=g" ((unsigned long int)(xl)) \ :"g" ((unsigned long int)(a)), "g" ((unsigned long int)(b)) \ @@ -298,13 +298,13 @@ #if defined (__m88000__) #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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\ "%rJ" ((unsigned long int)(al)), "rJ" ((unsigned long int)(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" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\ @@ -322,8 +322,8 @@ #if defined (__mips__) #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3 - mflo %0 + __asm__ ("multu %2,%3 \n\ + mflo %0 \n\ mfhi %1" \ : "=r" ((unsigned long int)(w0)), "=r" ((unsigned long int)(w1))\ : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v))) @@ -338,10 +338,10 @@ : "%0" ((unsigned long int)(u)), "g" ((unsigned long int)(v))); \ __w; }) #define div_qrnnd(q, r, n1, n0, d) \ - __asm__ ("movd %2,r0 - movd %3,r1 - deid %4,r0 - movd r1,%0 + __asm__ ("movd %2,r0 \n\ + movd %3,r1 \n\ + deid %4,r0 \n\ + movd r1,%0 \n\ movd r0,%1" \ : "=g" ((unsigned long int)(q)), "=g" ((unsigned long int)(r)) \ : "g" ((unsigned long int)(n0)), "g" ((unsigned long int)(n1)), \ @@ -350,22 +350,22 @@ #if defined (__pyr__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addw %5,%1 + __asm__ ("addw %5,%1 \n\ addwc %3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\ "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subw %5,%1 + __asm__ ("subw %5,%1 \n\ subwb %3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl))) /* This insn doesn't work on ancient pyramids. */ #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("movw %2,tr11 - uemul %3,tr10 - movw tr10,%0 + __asm__ ("movw %2,tr11 \n\ + uemul %3,tr10 \n\ + movw tr10,%0 \n\ movw tr11,%1" \ : "=r" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\ : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \ @@ -374,13 +374,13 @@ #if defined (__ibm032__) /* RT/ROMP */ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("a %1,%5 + __asm__ ("a %1,%5 \n\ ae %0,%3" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\ "%1" ((unsigned long int)(al)), "r" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("s %1,%5 + __asm__ ("s %1,%5 \n\ se %0,%3" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \ @@ -389,25 +389,25 @@ do { \ unsigned long int __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" ((unsigned long int)(ph)), "=r" ((unsigned long int)(pl)) \ : "%r" (__m0), "r" (__m1) \ @@ -433,13 +433,13 @@ #if defined (__sparc__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addcc %4,%5,%1 + __asm__ ("addcc %4,%5,%1 \n\ addx %2,%3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\ "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subcc %4,%5,%1 + __asm__ ("subcc %4,%5,%1 \n\ subx %2,%3,%0" \ : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\ : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\ @@ -458,45 +458,45 @@ /* SPARC without integer multiplication and divide instructions. (i.e. at least Sun4/20,40,60,65,75,110,260,280,330,360,380,470,490) */ #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" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\ : "%rI" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \ @@ -505,29 +505,29 @@ /* It's quite necessary to add this much assembler for the sparc. The default udiv_qrnnd (in C) is more than 10 times slower! */ #define udiv_qrnnd(q, r, n1, n0, d) \ - __asm__ ("! Inlined udiv_qrnnd - mov 32,%%g1 - subcc %1,%2,%%g0 -1: bcs 5f - addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb - sub %1,%2,%1 ! this kills msb of n - addx %1,%1,%1 ! so this can't give carry - subcc %%g1,1,%%g1 -2: bne 1b - subcc %1,%2,%%g0 - bcs 3f - addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb - b 3f - sub %1,%2,%1 ! this kills msb of n -4: sub %1,%2,%1 -5: addxcc %1,%1,%1 - bcc 2b - subcc %%g1,1,%%g1 -! Got carry from n. Subtract next step to cancel this carry. - bne 4b - addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb - sub %1,%2,%1 -3: xnor %0,0,%0 + __asm__ ("! Inlined udiv_qrnnd \n\ + mov 32,%%g1 \n\ + subcc %1,%2,%%g0 \n\ +1: bcs 5f \n\ + addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb \n\ + sub %1,%2,%1 ! this kills msb of n \n\ + addx %1,%1,%1 ! so this can't give carry \n\ + subcc %%g1,1,%%g1 \n\ +2: bne 1b \n\ + subcc %1,%2,%%g0 \n\ + bcs 3f \n\ + addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb \n\ + b 3f \n\ + sub %1,%2,%1 ! this kills msb of n \n\ +4: sub %1,%2,%1 \n\ +5: addxcc %1,%1,%1 \n\ + bcc 2b \n\ + subcc %%g1,1,%%g1 \n\ +! Got carry from n. Subtract next step to cancel this carry. \n\ + bne 4b \n\ + addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb \n\ + sub %1,%2,%1 \n\ +3: xnor %0,0,%0 \n\ ! End of inline udiv_qrnnd" \ : "=r&" ((unsigned long int)(q)), "=r&" ((unsigned long int)(r))\ : "r" ((unsigned long int)(d)), "1" ((unsigned long int)(n1)), \ @@ -538,13 +538,13 @@ #if defined (__vax__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addl2 %5,%1 + __asm__ ("addl2 %5,%1 \n\ adwc %3,%0" \ : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\ : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\ "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subl2 %5,%1 + __asm__ ("subl2 %5,%1 \n\ sbwc %3,%0" \ : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\ : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \ diff -ur nhc98-1.16/targets/ix86-Linux/hmake3.config nhc98-1.16.new/targets/ix86-Linux/hmake3.config --- nhc98-1.16/targets/ix86-Linux/hmake3.config 2004-12-06 13:34:09.000000000 +0100 +++ nhc98-1.16.new/targets/ix86-Linux/hmake3.config 2004-12-06 13:42:39.000000000 +0100 @@ -1 +1,3 @@ /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/hmake-config /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/lib/ix86-Linux/hmakerc new +/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/hmake-config /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/lib/ix86-Linux/hmakerc add /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/nhc98 +/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/hmake-config /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/lib/ix86-Linux/hmakerc default /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/nhc98