The following patch fixes the basic FTBFS problem with gcc 4.0.
Unfortunately, after this patch, I still get the following test suite
failure:

bin/Linux_base_shared/xsl2blastst -R all -n 1019 -m 1019 -F 200 

---------------------------------- GBMV -----------------------------------
TST# T    M    N   KL   KU ALPHA  LDA INCX  BETA INCY  TIME MFLOP SpUp TEST
==== = ==== ==== ==== ==== ===== ==== ==== ===== ==== ===== ===== ==== ====
   0 N 1019 1019    1    1   1.0    3    1   1.0    1  0.00 112.1 1.00 ----
   0 N 1019 1019    1    1   1.0    3    1   1.0    1  0.00 112.4 1.00 PASS

------------------------------- GEMV --------------------------------
TST# TR    M    N ALPHA  LDA INCX  BETA INCY   TIME MFLOP  SpUp  TEST
==== == ==== ==== ===== ==== ==== ===== ==== ====== ===== ===== =====
   1  N 1019 1019   1.0 1019    1   1.0    1   0.01 181.9  1.00 -----
   1  N 1019 1019   1.0 1019    1   1.0    1   0.01 182.2  1.00 PASS 

------------------------------- SBMV --------------------------------
TST# UP    N    K ALPHA  LDA INCX  BETA INCY   TIME MFLOP  SpUp  TEST
==== == ==== ==== ===== ==== ==== ===== ==== ====== ===== ===== =====
   2  L 1019    1   1.0    2    1   1.0    1   0.00  91.9  1.00 -----
   2  L 1019    1   1.0    2    1   1.0    1   0.00  92.3  1.00 PASS 

-------------------------- SPMV ---------------------------
TST# UP    N ALPHA INCX  BETA INCY   TIME MFLOP  SpUp  TEST
==== == ==== ===== ==== ===== ==== ====== ===== ===== =====
   3  L 1019   1.0    1   1.0    1   0.01 255.8  1.00 -----
   3  L 1019   1.0    1   1.0    1   0.01 256.1  1.00 PASS 

----------------------------- SYMV -----------------------------
TST# UP    N ALPHA  LDA INCX  BETA INCY   TIME MFLOP  SpUp  TEST
==== == ==== ===== ==== ==== ===== ==== ====== ===== ===== =====
   4  L 1019   1.0 1019    1   1.0    1   0.01 340.4  1.00 -----
   4  L 1019   1.0 1019    1   1.0    1   0.01 341.0  1.00 PASS 

----------------------------- TBMV ------------------------------
TST# UPLO TRAN DIAG    N    K  LDA INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ==== ==== ====== ====== ===== =====
   5    L    N    N 1019    1    2    1   0.00   25.8  1.00 -----
   5    L    N    N 1019    1    2    1   0.00   25.7  1.00 PASS 

------------------------ TPMV -------------------------
TST# UPLO TRAN DIAG    N INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ====== ====== ===== =====
   6    L    N    N 1019    1   0.00  291.9  1.00 -----
   6    L    N    N 1019    1   0.00  293.7  1.01 PASS 

-------------------------- TRMV ----------------------------
ERROR:   resid=392.406769, normD=12.385225, normA=259.826324, normX=0.499337, 
eps=1.192093e-07
   resid=392.406769
TST# UPLO TRAN DIAG    N  LDA INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ==== ====== ====== ===== =====
   7    L    N    N 1019 1019    1   0.00  591.7  1.00 -----
   7    L    N    N 1019 1019    1   0.01  175.5  0.30 FAIL 

----------------------------- TBSV ------------------------------
TST# UPLO TRAN DIAG    N    K  LDA INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ==== ==== ====== ====== ===== =====
   8    L    N    N 1019    1    2    1   0.00   44.1  1.00 -----
   8    L    N    N 1019    1    2    1   0.00   44.5  1.01 PASS 

------------------------ TPSV -------------------------
TST# UPLO TRAN DIAG    N INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ====== ====== ===== =====
   9    L    N    N 1019    1   0.00  283.2  1.00 -----
   9    L    N    N 1019    1   0.00  286.1  1.01 PASS 

-------------------------- TRSV ----------------------------
ERROR:   resid=nan, normD=nan, normA=1.739231, normX=0.499337, eps=1.192093e-07
TST# UPLO TRAN DIAG    N  LDA INCX   TIME  MFLOP  SpUp  TEST
==== ==== ==== ==== ==== ==== ==== ====== ====== ===== =====
  10    L    N    N 1019 1019    1   0.08   13.0  1.00 -----
  10    L    N    N 1019 1019    1   0.01  172.5 13.28 FAIL 

------------------------------ GER -----------------------------
TST#     M     N ALPHA INCX INCY   LDA   TIME  MFLOP  SpUp  TEST
==== ===== ===== ===== ==== ==== ===== ====== ====== ===== =====
  11  1019  1019   1.0    1    1  1019   0.02   98.2  1.00 -----
  11  1019  1019   1.0    1    1  1019   0.02   98.2  1.00 PASS 

----------------------- SPR ------------------------
TST# UPLO     N ALPHA INCX   TIME  MFLOP  SpUp  TEST
==== ==== ===== ===== ==== ====== ====== ===== =====
  12    L  1019   1.0    1   0.01  101.1  1.00 -----
  12    L  1019   1.0    1   0.01  101.1  1.00 PASS 

--------------------------- SYR --------------------------
TST# UPLO     N ALPHA INCX   LDA   TIME  MFLOP  SpUp  TEST
==== ==== ===== ===== ==== ===== ====== ====== ===== =====
  13    L  1019   1.0    1  1019   0.01   96.5  1.00 -----
  13    L  1019   1.0    1  1019   0.01   96.5  1.00 PASS 

-------------------------- SPR2 -------------------------
TST# UPLO     N ALPHA INCX INCY   TIME  MFLOP  SpUp  TEST
==== ==== ===== ===== ==== ==== ====== ====== ===== =====
  14    L  1019   1.0    1    1   0.01  175.6  1.00 -----
  14    L  1019   1.0    1    1   0.01  175.6  1.00 PASS 

---------------------------- SYR2 -----------------------------
TST# UPLO     N ALPHA INCX INCY   LDA   TIME  MFLOP  SpUp  TEST
==== ==== ===== ===== ==== ==== ===== ====== ====== ===== =====
  15    L  1019   1.0    1    1  1019   0.01  171.8  1.00 -----
  15    L  1019   1.0    1    1  1019   0.01  172.7  1.01 PASS 

16 tests run, 14 passed

Unfortunately, it's beyond my knowledge of the package to figure out
what's going wrong here or how to fix it.

Anyway, here is the patch, which at least moves things a little bit
farther along.  In the camm_dpa.h change, I removed the bx register
clobber because ebx was already being saved and restored in the assembly
and therefore I don't believe the register was actually being clobbered.

diff -ruNp atlas3-3.6.0/bin/uumtst.c atlas3-3.6.0.new/bin/uumtst.c
--- atlas3-3.6.0/bin/uumtst.c   2003-12-22 06:06:43.000000000 -0800
+++ atlas3-3.6.0.new/bin/uumtst.c       2005-08-16 16:14:21.000000000 -0700
@@ -59,13 +59,14 @@ static void test_lauum(const enum ATLAS_
       ATL_lauum(Maj_, Uplo_, N_, A_, lda_)
 #endif
 
+static void ATL_L2GE(const enum CBLAS_ORDER, const int, const TYPE*,
+                     const int, TYPE*, const int);
+
 static void ATL_U2GE
    (const enum CBLAS_ORDER Order, const int N, const TYPE *U, const int ldu,
     TYPE *C, const int ldc)
 {
    int j;
-   static void ATL_L2GE(const enum CBLAS_ORDER, const int, const TYPE*,
-                        const int, TYPE*, const int);
 
    if (Order == CblasRowMajor) ATL_L2GE(CblasColMajor, N, U, ldu, C, ldc);
    else
diff -ruNp atlas3-3.6.0/config.c atlas3-3.6.0.new/config.c
--- atlas3-3.6.0/config.c       2005-08-16 13:21:51.000000000 -0700
+++ atlas3-3.6.0.new/config.c   2005-08-16 10:59:45.000000000 -0700
@@ -694,7 +694,7 @@ int IsGoodGcc(enum OSTYPE OS, enum MACHT
       iret = 0;
    else if ( MachIsX86(mach) ) /* don't use gcc 2.96 - 3.0 */
    {
-      if ((major == 2 && minor < 96) || (major == 3 && minor > 1))
+      if ((major == 2 && minor < 96) || (major == 3 && minor > 1) || major > 3)
          iret = 1;
    }
    else if (mach == IA64Itan || mach == IA64Itan2 || MachIsUS(mach) ||
Binary files atlas3-3.6.0/error_Linux_sse2_shared.tgz and 
atlas3-3.6.0.new/error_Linux_sse2_shared.tgz differ
diff -ruNp atlas3-3.6.0/include/contrib/camm_dpa.h 
atlas3-3.6.0.new/include/contrib/camm_dpa.h
--- atlas3-3.6.0/include/contrib/camm_dpa.h     2003-12-22 06:07:04.000000000 
-0800
+++ atlas3-3.6.0.new/include/contrib/camm_dpa.h 2005-08-16 13:06:58.000000000 
-0700
@@ -1619,7 +1619,7 @@ MY_FUNCTION(aconst TYPE *a,int lda,
 #if defined(SCPLX) || (defined(DCPLX) && defined(ATL_SSE2))
         ,"m" (w)
 #endif
-        :"ax","bx","cx","dx","si","di");
+        :"ax","cx","dx","si","di");
 
 
 }

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to