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]