From 7728e30c9b59f5c7f4855d8fc7aa9240cda567ba Mon Sep 17 00:00:00 2001 From: Sébastien Fabbro Date: Mon, 7 Mar 2016 20:58:31 +0000 Subject: sci-libs/atlas: initial import Required for other packages which use the pure clapack API. Best not used for pure blas/lapack, see science overlay instead for now. Package-Manager: portage-2.2.27 --- .../atlas/files/atlas-3.10.2-format-security.patch | 198 +++++++++++++++++++++ .../atlas/files/atlas-3.10.2-x32-support.patch | 93 ++++++++++ 2 files changed, 291 insertions(+) create mode 100644 sci-libs/atlas/files/atlas-3.10.2-format-security.patch create mode 100644 sci-libs/atlas/files/atlas-3.10.2-x32-support.patch (limited to 'sci-libs/atlas/files') diff --git a/sci-libs/atlas/files/atlas-3.10.2-format-security.patch b/sci-libs/atlas/files/atlas-3.10.2-format-security.patch new file mode 100644 index 000000000000..f3f45d774510 --- /dev/null +++ b/sci-libs/atlas/files/atlas-3.10.2-format-security.patch @@ -0,0 +1,198 @@ + bin/atlas_install.c | 46 +++++++++++++++++++++++----------------------- + 1 file changed, 23 insertions(+), 23 deletions(-) + +diff --git a/bin/atlas_install.c b/bin/atlas_install.c +index 2753cbf..21b716d 100644 +--- a/bin/atlas_install.c ++++ b/bin/atlas_install.c +@@ -483,9 +483,9 @@ void PrintStartStop(FILE *fp0, FILE *fp1, int nspc, int START, int sec, + fprintf(fp1, "\n\n"); + } + if (fp0) +- fprintf(fp0, ln); ++ fprintf(fp0, "%s", ln); + if (fp1) +- fprintf(fp1, ln); ++ fprintf(fp1, "%s", ln); + } + + int LnIsCont(char *ln) +@@ -776,11 +776,11 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + if (DefInstall) + { + sprintf(ln, "%s IRunMMDef pre=%c %s %s\n", fmake, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "BUILDING BLOCK MATMUL TUNE", ln2); + } + sprintf(ln, "%s %s pre=%c %s %s\n", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "BUILDING BLOCK MATMUL TUNE", ln2); + PrintBanner(ln2, 0, 2, ip+1, 1); + } +@@ -836,7 +836,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + if (!FileExists(fnam)) + { + sprintf(ln, "%s %s pre=%c %s %s", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "BUILDING BLOCK MATMUL TUNE", ln2); + } + fp = fopen(fnam, "r"); +@@ -854,7 +854,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + { + sprintf(ln, "%s %s pre=%c nb=%d %s %s", + fmake, fnam, pre, ncnb, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "BUILDING BLOCK MATMUL TUNE", ln2); + } + GetInstLogFile(fnam, pre, &muladd, &pf, &lat, &nb, &mu, &nu, &ku, +@@ -881,7 +881,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + } + + sprintf(ln, "%s MMinstall pre=%c %s %s\n", fmake, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "BUILDING BLOCK MATMUL TUNE", ln2); + + fprintf(fpsum, "\n"); +@@ -896,7 +896,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + PrintBanner(ln2, 1, 2, ip+1, 2); + sprintf(ln, "%s INSTALL_LOG/atlas_cacheedge.h pre=%c %s %s\n", + fmake, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "CACHEEDGE DETECTION", ln2); + PrintBanner(ln2, 0, 2, ip+1, 2); + } +@@ -922,7 +922,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + { + sprintf(ln, "%s %s pre=%c %s %s\n", + fmake, ln3, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "CACHEEDGE DETECTION", ln2); + } + fp = fopen(ln3, "r"); +@@ -955,7 +955,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + "\n\n STAGE 2-%d-3: COPY/NO-COPY CROSSOVER DETECTION\n", ip+1); + + sprintf(ln, "%s %s pre=%c %s %s\n", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "COPY/NO-COPY CROSSOVER DETECTION", ln2); + PrintBanner(ln2, 0, 2, ip+1, 3); + fprintf(stdout, " done.\n"); +@@ -970,17 +970,17 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + { + sprintf(ln, "%s INSTALL_LOG/atlas_%ctrsmXover.h pre=%c %s %s\n", + fmake, pre, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "L3BLAS TUNING", ln2); + } + else + { + sprintf(ln, "%s Il3lib pre=%c %s %s\n", fmake, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "L3BLAS TUNING", ln2); + } + sprintf(ln, "%s %ccblaslib %s %s\n", fmake, pre, redir, ln2); /* cblas */ +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "L3BLAS TUNING", ln2); + PrintBanner(ln2, 0, 2, ip+1, 5); + PrintStartStop(stdout, fpsum, 3, 0, 2, ip+1, 4, "L3BLAS TUNE"); +@@ -993,7 +993,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/%cMVNTUNE.LOG", pre); + PrintBanner(ln2, 1, 2, ip+1, 7); + sprintf(ln, "%s %s pre=%c %s %s\n", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "MVNTUNE", ln2); + ATL_Cassert(FileIsThere(fnam), "MVNTUNE", ln2); + PrintBanner(ln2, 0, 2, ip+1, 7); +@@ -1026,7 +1026,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/%cMVTTUNE.LOG", pre); + PrintBanner(ln2, 1, 2, ip+1, 7); + sprintf(ln, "%s %s pre=%c %s %s\n", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "MVTTUNE", ln2); + ATL_Cassert(FileIsThere(fnam), "MVTTUNE", ln2); + PrintBanner(ln2, 0, 2, ip+1, 7); +@@ -1061,7 +1061,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/%cR1TUNE.LOG", pre); + PrintBanner(ln2, 1, 2, ip+1, 7); + sprintf(ln, "%s %s pre=%c %s %s\n", fmake, fnam, pre, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "R1TUNE", ln2); + ATL_Cassert(FileIsThere(fnam), "R1TUNE", ln2); + PrintBanner(ln2, 0, 2, ip+1, 7); +@@ -1099,7 +1099,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/LIBBUILD.LOG"); + PrintBanner(ln2, 1, 3, 1, 1); + sprintf(ln, "%s IBuildLibs %s %s\n", fmake, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "LIBRARY BUILD", ln2); + ATL_Cassert(FileIsThere(fnam), "LIBRARY BUILD", ln2); + PrintBanner(ln2, 0, 3, 1, 1); +@@ -1110,7 +1110,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + PrintBanner(ln2, 1, 4, 1, 1); + PrintStartStop(stdout, fpsum, 3, 1, 4, 1, 1, "TRSM TUNE"); + sprintf(ln, "%s IPostTune %s %s\n", fmake, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "POST-BUILD TUNE", ln2); + PrintStartStop(stdout, fpsum, 3, 0, 4, 1, 0, NULL); + ATL_Cassert(FileIsThere(fnam), "POST-BUILD TUNE", ln2); +@@ -1121,7 +1121,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/PTTUNE.LOG"); + PrintBanner(ln2, 1, 4, 2, 0); + sprintf(ln, "%s IPTtune %s %s\n", fmake, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "THREADING TUNE", ln2); + PrintStartStop(stdout, fpsum, 3, 0, 4, 2, 0, "THREADING TUNE"); + +@@ -1129,7 +1129,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/LIBPTBUILD.LOG"); + PrintBanner(ln2, 1, 4, 2, 1); + sprintf(ln, "%s IBuildPtlibs %s %s\n", fmake, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "PTLIBRARY BUILD", ln2); + PrintBanner(ln2, 0, 4, 2, 1); + PrintStartStop(stdout, fpsum, 3, 0, 4, 2, 1, "THREADING BUILD"); +@@ -1144,7 +1144,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + PrintStartStop(stdout, fpsum, 6, 1, 4, 3, ip+1, ln2); + sprintf(ln2, "INSTALL_LOG/%cLATUNE.LOG", pre); + PrintBanner(ln2, 1, 4, 3, ip+1); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + sprintf(ln, "%s ILATune pre=%c %s %s\n", fmake, pre, redir, ln2); + ATL_Cassert(system(ln)==0, "LAPACK TUNE", ln2); + PrintStartStop(stdout, fpsum, 6, 0, 4, 3, ip+1, NULL); +@@ -1162,7 +1162,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + #else + sprintf(ln, "%s IBuildLibs %s %s\n", fmake, redir, ln2); + #endif +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "STATIC LIBRARY UPDATE", ln2); + PrintBanner(ln2, 0, 5, 1, 1); + PrintStartStop(stdout, fpsum, 3, 0, 5, 1, 0, "FINAL STATIC LIBRARY UPDATE"); +@@ -1172,7 +1172,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) + sprintf(ln2, "INSTALL_LOG/LIBDYBUILD.LOG"); + PrintBanner(ln2, 1, 5, 2, 1); + sprintf(ln, "%s IBuildDyLibs %s %s\n", fmake, redir, ln2); +- fprintf(stdout, ln); ++ fprintf(stdout, "%s", ln); + ATL_Cassert(system(ln)==0, "DYLIBRARY BUILD", ln2); + PrintBanner(ln2, 0, 5, 2, 1); + PrintStartStop(stdout, fpsum, 3, 0, 5, 2, 0, NULL); diff --git a/sci-libs/atlas/files/atlas-3.10.2-x32-support.patch b/sci-libs/atlas/files/atlas-3.10.2-x32-support.patch new file mode 100644 index 000000000000..82e6980690cb --- /dev/null +++ b/sci-libs/atlas/files/atlas-3.10.2-x32-support.patch @@ -0,0 +1,93 @@ +--- ATLAS/CONFIG/src/SpewMakeInc.c.orig 2012-05-24 00:56:27.000000000 +0200 ++++ ATLAS/CONFIG/src/SpewMakeInc.c 2012-06-06 15:17:40.000000000 +0200 +@@ -370,7 +370,7 @@ + } + *f2cdefs = fdefs; + *ecdefs = cdefs; +- if (*ptrbits != 32 && *ptrbits != 64) ++ if (*ptrbits != 32 && *ptrbits != 64 && *ptrbits != 48) + *ptrbits = 0; + } + char *GetPtrbitsFlag(enum OSTYPE OS, enum MACHTYPE arch, int ptrbits, +@@ -418,6 +418,8 @@ + sp = "-m64"; + else if (ptrbits == 32) + sp = "-m32"; ++ else if (ptrbits == 48 && MachIsX86(arch)) ++ sp = "-mx32"; + } + return(sp); + } +--- ATLAS/CONFIG/src/gnuccw.c.orig 2012-06-06 15:30:05.000000000 +0200 ++++ ATLAS/CONFIG/src/gnuccw.c 2012-06-06 15:33:29.000000000 +0200 +@@ -363,7 +363,7 @@ + * -m64/32 args get passed to comp, asm & linker + */ + else if (at->len == 4 && +- (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32"))) ++ (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32") || !strcmp(at->arg, "-mx32"))) + { + if (at->arg[2] == '6') + *BITS = 64; +--- ATLAS/CONFIG/src/gcc3p.c.orig 2012-06-06 15:29:38.000000000 +0200 ++++ ATLAS/CONFIG/src/gcc3p.c 2012-06-06 15:31:17.000000000 +0200 +@@ -352,7 +352,7 @@ + * -m64/32 args get passed to comp, asm & linker + */ + else if (at->len == 4 && +- (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32"))) ++ (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32") || !strcmp(at->arg, "-mx32"))) + { + if (at->arg[2] == '6') + { +--- ATLAS/CONFIG/src/gnuf90w.c.orig 2012-06-06 15:29:28.000000000 +0200 ++++ ATLAS/CONFIG/src/gnuf90w.c 2012-06-06 15:30:36.000000000 +0200 +@@ -363,7 +363,7 @@ + * -m64/32 args get passed to comp, asm & linker + */ + else if (at->len == 4 && +- (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32"))) ++ (!strcmp(at->arg, "-m64") || !strcmp(at->arg, "-m32") || !strcmp(at->arg, "-mx32"))) + { + if (at->arg[2] == '6') + *BITS = 64; +--- ATLAS/CONFIG/src/probe_comp.c.orig 2012-06-06 15:29:51.000000000 +0200 ++++ ATLAS/CONFIG/src/probe_comp.c 2012-06-06 15:32:50.000000000 +0200 +@@ -614,6 +614,8 @@ + sp = "-m64"; + else if (ptrbits == 32) + sp = "-m32"; ++ else if (ptrbits == 48) ++ sp = "-mx32"; + } + return(sp); + } +@@ -1691,7 +1693,7 @@ + } + } + } +- if (*ptrbits != 32 && *ptrbits != 64) ++ if (*ptrbits != 32 && *ptrbits != 64 && *ptrbits != 48) + *ptrbits = 0; + } + +--- ATLAS/CONFIG/src/config.c.orig 2012-06-06 15:59:53.000000000 +0200 ++++ ATLAS/CONFIG/src/config.c 2012-06-06 16:00:07.000000000 +0200 +@@ -183,7 +183,7 @@ + i = sprintf(ln, "make IRun_comp args=\"-v %d -o atlconf.txt -O %d -A %d -Si nof77 %d -V %d %s %s", + verb, OS, arch, nof77, vecext, targarg, flags); + free(flags); +- if (ptrbits == 64 || ptrbits == 32) ++ if (ptrbits == 64 || ptrbits == 32 || ptrbits == 48) + { + sprintf(stmp, "-b %d", ptrbits); + ln = NewAppendedString(ln, stmp); +@@ -1272,7 +1272,7 @@ + } + *f2cdefs = fdefs; + *ecdefs = cdefs; +- if (*ptrbits != 32 && *ptrbits != 64) ++ if (*ptrbits != 32 && *ptrbits != 64 && *ptrbits != 48) + *ptrbits = 0; + } + -- cgit v1.2.3-65-gdbad