Package: numerix
Version: 0.22-1
Severity: serious
Tags: patch
Justification: no longer builds from source

numerix does not build on Alpha:

[...]
alpha-linux-gnu-gcc -fPIC -Wall -O2  -Duse_slong -c -o kernel/n/o/numerix-t.o 
kernel/n/alpha/numerix.S
kernel/n/alpha/karatsuba.S: Assembler messages:
kernel/n/alpha/karatsuba.S:583: Error: syntax error
kernel/n/alpha/toom.S:379: Warning: operand out of range (-8 is not between 0 
and 255)
kernel/n/alpha/toom.S:961: Warning: operand out of range (-8 is not between 0 
and 255)
kernel/n/alpha/div_n2.S:309: Error: syntax error
kernel/n/alpha/div_n2.S:415: Error: syntax error
kernel/n/alpha/div_n2.S:541: Error: syntax error
kernel/n/alpha/sqrt_n2.S:141: Error: syntax error
kernel/n/alpha/smod.S:1019: Error: inappropriate arguments for opcode `bsr'
kernel/n/alpha/smod.S:1131: Warning: .end directive names different symbol than 
.ent
kernel/n/alpha/smod.S:1511: Error: syntax error
kernel/n/alpha/smod.S:1512: Error: syntax error
kernel/n/alpha/smod.S:1545: Warning: .end directive names different symbol than 
.ent
kernel/n/alpha/cmp.S:63: Error: syntax error
kernel/n/alpha/cmp.S:74: Error: syntax error
make[1]: *** [kernel/n/o/numerix-t.o] Error 1
make[1]: Leaving directory `/build/buildd/numerix-0.22'
make: *** [build-stamp] Error 2

Apparently the author uses Digital Unix, which is a bit sloppy about
correct syntax, and fixes up the invalid s4addq by itself. I've
created a quick patch. I haven't really tested it, though, so you
should probably run it by the upstream author.

diff -Nurp numerix-0.22/kernel/n/alpha/cmp.S 
/tmp/numerix-0.22/kernel/n/alpha/cmp.S
--- numerix-0.22/kernel/n/alpha/cmp.S   2006-01-02 16:16:30.000000000 +0100
+++ /tmp/numerix-0.22/kernel/n/alpha/cmp.S      2006-08-22 23:34:09.000000000 
+0200
@@ -60,7 +60,7 @@ sn_cmp:
        subq   _a_,  8,    _a_
        subq   $0,   1,    $0
        ldq    $1,   0(_a_)
-       beq    $1    1b
+       beq    $1,   1b
        addq   $31,  1,    $0
        ret    $31,  ($26),1
        
@@ -71,7 +71,7 @@ sn_cmp:
        subq   _b_,  8,    _b_
        addq   $0,   1,    $0
        ldq    $1,   0(_b_)
-       beq    $1    2b
+       beq    $1,   2b
        subq   $31,  1,    $0
        ret    $31,  ($26),1
        
diff -Nurp numerix-0.22/kernel/n/alpha/div_n2.S 
/tmp/numerix-0.22/kernel/n/alpha/div_n2.S
--- numerix-0.22/kernel/n/alpha/div_n2.S        2006-06-09 13:29:29.000000000 
+0200
+++ /tmp/numerix-0.22/kernel/n/alpha/div_n2.S   2006-08-22 23:18:44.000000000 
+0200
@@ -108,7 +108,7 @@
         beq    y,    3f                                                    ;\
         addq   q,    1,    q    /* q++                                  */ ;\
         beq    q,    2f         /* si débordement, abandonne            */ ;\
-        subq   c,    a     c    /* c:d -= a                             */ ;\
+        subq   c,    a,    c    /* c:d -= a                             */ ;\
         br     $31,  1b                                                    ;\
 2:                                                                         ;\
         subq   q,    1,    q                                               ;\
diff -Nurp numerix-0.22/kernel/n/alpha/karatsuba.S 
/tmp/numerix-0.22/kernel/n/alpha/karatsuba.S
--- numerix-0.22/kernel/n/alpha/karatsuba.S     2006-01-02 16:19:48.000000000 
+0100
+++ /tmp/numerix-0.22/kernel/n/alpha/karatsuba.S        2006-08-22 
23:15:47.000000000 +0200
@@ -580,7 +580,7 @@ L(nogp):
        s8addq $0,   $16,  $18  # r18 <- &a1
        bis    $2,   $2,   $19  # r19 <- q
        bsr    $26,  .Lsn_asub_nogp # c[0..p-1] <- |a0-a1|
-       stq    $31   _x_
+       stq    $31,  _x_
        
        # calcule |a0-a1|^2, a0^2, a1^2
        ldq    $16,  _c_
diff -Nurp numerix-0.22/kernel/n/alpha/smod.S 
/tmp/numerix-0.22/kernel/n/alpha/smod.S
--- numerix-0.22/kernel/n/alpha/smod.S  2006-05-25 14:25:37.000000000 +0200
+++ /tmp/numerix-0.22/kernel/n/alpha/smod.S     2006-08-22 23:45:02.000000000 
+0200
@@ -1016,7 +1016,7 @@ L(small):
        # d1:d2 <- a^2 mod (BASE^n - 1)
        bis    $18, $18, $17
        lda    $18, _d_
-       bsr    .Lsn_toomsqr_nogp
+       bsr    $26, .Lsn_toomsqr_nogp
        br     $31, .Lsn_smul_small_aux # continue auvec smul
 
        #undef _d_
@@ -1128,7 +1128,7 @@ L(big_odd):
 #ifdef debug_smul
         .end sn_ssqr_buggy
 #else
-        .end sn_sqr
+        .end sn_ssqr
 #endif
 #undef L
 #endif /* assembly_sn_ssqr */
@@ -1508,8 +1508,8 @@ L(inc_b):
        sll    $3,  3,   $3
        lda    $27, sn_addloop
        subq   _b_, $3,  $16
-       s8addq _k_, $16  $18
-       s8addq _k_, $16  $20
+       s8addq _k_, $16, $18
+       s8addq _k_, $16, $20
        s4addq $3,  $27, $27
        bis    $31, $31, $0
        jsr    $27, ($27)
@@ -1542,7 +1542,7 @@ L(inc_b):
 #ifdef debug_sjoin
         .end sn_sjoin3_buggy
 #else
-        .end sn_sqr
+        .end sn_sjoin3
 #endif
 #undef L
 #endif /* assembly_sn_sjoin3 */
diff -Nurp numerix-0.22/kernel/n/alpha/toom.S 
/tmp/numerix-0.22/kernel/n/alpha/toom.S
--- numerix-0.22/kernel/n/alpha/toom.S  2006-01-12 14:25:42.000000000 +0100
+++ /tmp/numerix-0.22/kernel/n/alpha/toom.S     2006-08-22 23:28:55.000000000 
+0200
@@ -376,7 +376,8 @@ L(nogp):
        s8addq $17, $16, $18    # r18 <- &c[p+3]
        bis    $17, $17, $19    # r19 <- p+3
        lda    $20, _d_
-       s4addq $17, -8,  $0     # r0 <- 4p+4
+       lda    $0, -8
+       s4addq $17, $0,  $0     # r0 <- 4p+4
        s8addq $0,  $20, $20    # r20 <- &f
 
        # diminue les longeurs des facteurs si les chiffres de tête sont nuls
@@ -958,7 +959,8 @@ L(nogp):
        ldq    $17, _p_
        addq   $17, 3,   $17    # r17 <- p+3
        lda    $18, _d_
-       s4addq $17, -8,  $0     # r0 <- 4p+4
+       lda    $0, -8
+       s4addq $17, $0,  $0     # r0 <- 4p+4
        s8addq $0,  $18, $18    # r18 <- &f
 
        # diminue les longeurs des facteurs si les chiffres de tête sont nuls



-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: alpha
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17.5
Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15)

Reply via email to