So here is what I have right now.

I guessed on the sqr_diagonal.asm failures on 32-bit
Solaris/Sparc that something is wrong with INT32
or W32 (which INT32 uses) on Solaris.

Please give it a go.

2013-04-13  David S. Miller  <da...@davemloft.net>

        * mpn/sparc32/v9/sqr_diagonal.asm: Don't use INT32.
        * mpn/sparc64/gcd_1.asm: Use RODATA, TYPE, and SIZE.

diff -r 37082d27ed59 mpn/sparc32/v9/sqr_diagonal.asm
--- a/mpn/sparc32/v9/sqr_diagonal.asm   Sat Apr 13 23:40:21 2013 +0200
+++ b/mpn/sparc32/v9/sqr_diagonal.asm   Sat Apr 13 22:32:31 2013 -0700
@@ -75,7 +75,9 @@
 ASM_START()
        LEA_THUNK(l7)
        TEXT
-       INT32(noll, 0)
+       ALIGN(4)
+L(noll):
+       .word   0
 PROLOGUE(mpn_sqr_diagonal)
        save    %sp,-256,%sp
 
diff -r 37082d27ed59 mpn/sparc64/gcd_1.asm
--- a/mpn/sparc64/gcd_1.asm     Sat Apr 13 23:40:21 2013 +0200
+++ b/mpn/sparc64/gcd_1.asm     Sat Apr 13 22:32:31 2013 -0700
@@ -37,13 +37,14 @@
 deflit(MAXSHIFT, 7)
 deflit(MASK, eval((m4_lshift(1,MAXSHIFT))-1))
 
-       .section        ".rodata"
+       RODATA
+       TYPE(ctz_table,object)
 ctz_table:
        .byte   MAXSHIFT
 forloop(i,1,MASK,
 `      .byte   m4_count_trailing_zeros(i)
 ')
-
+       SIZE(ctz_table,.-ctz_table)
 
 C Threshold of when to call bmod when U is one limb.  Should be about
 C (time_in_cycles(bmod_1,1) + call_overhead) / (cycles/bit).
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
http://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to