[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GMP 4.1 on Solaris, HP-UX
From: |
Albert Chin |
Subject: |
Re: GMP 4.1 on Solaris, HP-UX |
Date: |
Fri, 31 May 2002 00:41:04 -0500 |
User-agent: |
Mutt/1.2.5i |
On Thu, May 30, 2002 at 02:48:43PM -0500, Albert Chin wrote:
> 'gmake check' returns the following on HP-UX 10.20 with the HP C
> compiler. Note that I force --host=hppa1.1-hp-hpux10.20 to get a
> PA-RISC 1.1 build (without --host, 'gmake check' passes all tests).
> gmake check-TESTS
> gmake[3]: Entering directory `/opt/build/gmp-4.1/tests/mpz'
> PASS: t-addsub
> PASS: t-cmp
> PASS: t-mul
> PASS: t-mul_i
> PASS: t-tdiv
> /bin/sh: 6196 Memory fault(coredump)
> FAIL: t-tdiv_ui
> PASS: t-fdiv
> /bin/sh: 6213 Memory fault(coredump)
> FAIL: t-fdiv_ui
> /bin/sh: 6222 Memory fault(coredump)
> FAIL: t-cdiv_ui
> /bin/sh: 6231 Memory fault(coredump)
> FAIL: t-gcd
> PASS: t-lcm
> PASS: dive
> PASS: dive_ui
> /bin/sh: 6264 Memory fault(coredump)
> FAIL: t-sqrtrem
> PASS: convert
> PASS: io
> PASS: t-inp_str
> PASS: logic
> PASS: bit
> /bin/sh: 6314 Memory fault(coredump)
> FAIL: t-powm
> /bin/sh: 6323 Memory fault(coredump)
> FAIL: t-powm_ui
> PASS: t-pow
> PASS: t-div_2exp
> /bin/sh: 6348 Memory fault(coredump)
> FAIL: reuse
> /bin/sh: 6357 Memory fault(coredump)
> FAIL: t-root
> /bin/sh: 6366 Memory fault(coredump)
> FAIL: t-perfsqr
> /bin/sh: 6375 Memory fault(coredump)
> FAIL: t-jac
> PASS: t-bin
> PASS: t-get_d
> PASS: t-get_si
> PASS: t-set_si
> PASS: t-fac_ui
> PASS: t-fib_ui
> PASS: t-lucnum_ui
> PASS: t-scan
> PASS: t-fits
> /bin/sh: 6456 Memory fault(coredump)
> FAIL: t-divis
> PASS: t-divis_2exp
> /bin/sh: 6473 Memory fault(coredump)
> FAIL: t-cong
> PASS: t-cong_2exp
> /bin/sh: 6490 Memory fault(coredump)
> FAIL: t-sizeinbase
> PASS: t-set_str
> PASS: t-aorsmul
> PASS: t-cmp_d
> PASS: t-cmp_si
> PASS: t-hamdist
> PASS: t-oddeven
> PASS: t-popcount
> PASS: t-set_f
> PASS: t-io_raw
> PASS: t-import
> PASS: t-export
> =====================
> 14 of 52 tests failed
> =====================
Ok, the patch below fixes 13 of the failures. The patch forces ".level
1.1" in the ASM files. The remaining failure is the coredump in
t-sizeinbase. A GDB backtrace follows:
#0 0xc07979e4 in __gmpz_sizeinbase (x=0x7b03a908, base=2)
at sizeinbase.c:32
#1 0x296c in mpz_fake_bits (z=0x7b03a908, totbits=198096465)
at t-sizeinbase.c:45
#2 0x2a0c in check_sample () at t-sizeinbase.c:64
#3 0x2b0c in main () at t-sizeinbase.c:83
--
albert chin (address@hidden)
-- snip snip
--- configure.in.orig Fri May 31 00:37:08 2002
+++ configure.in Fri May 31 00:37:51 2002
@@ -457,7 +457,7 @@
gcc_cflags_optlist="arch"
gcc_cflags_arch="-mpa-risc-1-1"
cc_cflags="+DA1.1 +O2"
- path="pa32/hppa1_1/pa7100 pa32/hppa1_1 pa32"
+ path="pa32/hppa1_1 pa32"
extra_functions="udiv_qrnnd"
SPEED_CYCLECOUNTER_OBJ=hppa.lo
@@ -470,12 +470,21 @@
cc_cflags="+O2"
path="pa32"
;;
+
+ hppa1.1*-*-*)
+ abilist="1.1 $abilist"
+ cc_cflags="+O2"
+ cc_11n_cflags="+DA1.1 +e +O3"
+ path="pa32"
+ path_11="pa32/hppa1_1 pa32"
+ ;;
+
hppa7000*-*-*)
path="pa32/hppa1_1 pa32"
;;
hppa2.0*-*-*)
- abilist="2.0n 1.0"
+ abilist="2.0n 1.1 1.0"
# FIXME: It's suspected that an assembler feature test might be
# necessary before -mpa-risc-2-0 can be enabled, since it's not
@@ -486,8 +495,7 @@
#
# gmp_cflags_arch="-mpa-risc-2-0 -mpa-risc-1-1"
- # FIXME: path should be "pa32/hppa2_0 pa32/hppa1_1 pa32"
- path="pa32/hppa2_0 pa32/hppa1_1/pa7100 pa32/hppa1_1 pa32"
+ path="pa32/hppa2_0 pa32/hppa1_1 pa32"
# no gcc support for long long in 2.0n
cclist_20n="cc"
--- mpn/pa32/hppa1_1/addmul_1.asm.orig Thu May 30 17:46:13 2002
+++ mpn/pa32/hppa1_1/addmul_1.asm Thu May 30 17:46:38 2002
@@ -35,6 +35,8 @@
C There are some ideas described in mul_1.asm that applies to this code too.
+ .level 1.1
+
ASM_START()
PROLOGUE(mpn_addmul_1)
C .callinfo frame=64,no_calls
--- mpn/pa32/hppa1_1/mul_1.asm.orig Thu May 30 17:46:16 2002
+++ mpn/pa32/hppa1_1/mul_1.asm Thu May 30 17:46:45 2002
@@ -43,6 +43,8 @@
C lockup-free, we should use a deeper software pipeline, and load from S1 very
C early! (The loads and stores to -12(sp) will surely be in the cache.)
+ .level 1.1
+
ASM_START()
PROLOGUE(mpn_mul_1)
C .callinfo frame=64,no_calls
--- mpn/pa32/hppa1_1/sqr_diagonal.asm.orig Thu May 30 17:46:19 2002
+++ mpn/pa32/hppa1_1/sqr_diagonal.asm Thu May 30 17:46:48 2002
@@ -30,6 +30,8 @@
define(`up',`%r25')
define(`n',`%r24')
+ .level 1.1
+
ASM_START()
PROLOGUE(mpn_sqr_diagonal)
ldo 4(rp),rp
--- mpn/pa32/hppa1_1/submul_1.asm.orig Thu May 30 17:46:22 2002
+++ mpn/pa32/hppa1_1/submul_1.asm Thu May 30 17:46:53 2002
@@ -40,6 +40,8 @@
C addi 1,%r28,%r28
C but that requires reworking the hairy software pipeline...
+ .level 1.1
+
ASM_START()
PROLOGUE(mpn_submul_1)
C .callinfo frame=64,no_calls
--- mpn/pa32/hppa1_1/udiv_qrnnd.asm.orig Thu May 30 17:46:24 2002
+++ mpn/pa32/hppa1_1/udiv_qrnnd.asm Thu May 30 17:46:54 2002
@@ -34,6 +34,8 @@
C current solution is to stuff data right into the code, and refer it using
C absolute offsets. Fragile to be sure, but nothing else seems to work.
+ .level 1.1
+
ASM_START()
ifdef(`PIC',`',
` RODATA
--- mpn/pa32/hppa1_1/umul.asm.orig Thu May 30 17:46:27 2002
+++ mpn/pa32/hppa1_1/umul.asm Thu May 30 17:46:56 2002
@@ -19,6 +19,8 @@
include(`../config.m4')
+ .level 1.1
+
ASM_START()
PROLOGUE(mpn_umul_ppmm)
C .callinfo frame=64,no_calls
--- tune/hppa.asm.orig Thu May 30 17:50:59 2002
+++ tune/hppa.asm Thu May 30 17:50:51 2002
@@ -26,6 +26,7 @@
dnl
dnl Get the HPPA interval timer.
+ .level 1.1
.code
.export speed_cyclecounter
speed_cyclecounter
- Re: GMP 4.1 on Solaris, HP-UX,
Albert Chin <=