The package rpms/atlas.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/atlas.git/commit/?id=9a83c6c2acd00d9....
Change: +%ifarch s390 s390x
Thanks.
Full change: ============
commit 9a83c6c2acd00d97a73b00e78a6a321dd3e626e9 Author: Jakub Martisko jamartis@redhat.com Date: Fri Aug 28 17:23:01 2020 +0200
sync with rhel 8.3
- add the z14 and z15 subpackages. Unlike in RHEL, the base s390 package is still build for z12. - add some covscan related fixes from rhel - minor cleanup of the spec file/unused patches
diff --git a/.gitignore b/.gitignore index 6661901..0700b1c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ K7323DNow.tgz /lapack-3.5.0.tgz /atlas3.10.2.tar.bz2 /POWER864LEVSXp4.tar.bz2 +/IBMz1364VXZ.tar.bz2 +/IBMz1464VXZ2.tar.bz2 +/IBMz1564VXZ2.tar.bz2 diff --git a/atlas-aarch64port.patch b/atlas-aarch64port.patch deleted file mode 100644 index ad06226..0000000 --- a/atlas-aarch64port.patch +++ /dev/null @@ -1,219 +0,0 @@ -Author: Mark Salter msalter@redhat.com - -Index: ATLAS/CONFIG/include/atlconf.h -=================================================================== ---- ATLAS.orig/CONFIG/include/atlconf.h -+++ ATLAS/CONFIG/include/atlconf.h -@@ -16,9 +16,9 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS - ((OS_) == OSWin64) ) - - enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS, -- AFARM, AFS390}; -+ AFARM, AFS390, AFAARCH64}; - --#define NMACH 52 -+#define NMACH 53 - static char *machnam[NMACH] = - {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5", - "POWER6", "POWER7", "POWERe6500", "IBMz9", "IBMz10", "IBMz196", -@@ -29,7 +29,7 @@ static char *machnam[NMACH] = - "Efficeon", "K7", "HAMMER", "AMD64K10h", "AMDLLANO", "AMDDOZER","AMDDRIVER", - "UNKNOWNx86", "IA64Itan", "IA64Itan2", - "USI", "USII", "USIII", "USIV", "UST1", "UST2", "UnknownUS", -- "MIPSR1xK", "MIPSICE9", "ARMv7"}; -+ "MIPSR1xK", "MIPSICE9", "ARMv7", "AARCH64"}; - enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, - IbmPwr6, IbmPwr7, Pwre6500, - IbmZ9, IbmZ10, IbmZ196, /* s390(x) in Linux */ -@@ -42,7 +42,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw - SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST1, SunUST2, SunUSX, - MIPSR1xK, /* includes R10K, R12K, R14K, R16K */ - MIPSICE9, /* SiCortex ICE9 -- like MIPS5K */ -- ARMv7 /* includes Cortex A8, A9 */ -+ ARMv7, /* includes Cortex A8, A9 */ -+ AARCH64 - }; - #define MachIsX86(mach_) \ - ( (mach_) >= x86x87 && (mach_) <= x86X ) -@@ -63,6 +64,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw - ( (mach_) == ARMv7 ) - #define MachIsS390(mach_) \ - ( (mach_) >= IbmZ9 && (mach_) <= IbmZ196 ) -+#define MachIsAARCH64(mach_) \ -+ ( (mach_) == AARCH64 ) - - - static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"}; -@@ -84,13 +87,13 @@ enum ISAEXT - {ISA_None=0, ISA_VSX, ISA_AV, ISA_AVXMAC, ISA_AVXFMA4, ISA_AVX, - ISA_SSE3, ISA_SSE2, ISA_SSE1, ISA_3DNow, ISA_NEON}; - --#define NASMD 9 -+#define NASMD 10 - enum ASMDIA - {ASM_None=0, gas_x86_32, gas_x86_64, gas_sparc, gas_ppc, gas_parisc, -- gas_mips, gas_arm, gas_s390}; -+ gas_mips, gas_arm, gas_s390, gas_aarch64}; - static char *ASMNAM[NASMD] = - {"", "GAS_x8632", "GAS_x8664", "GAS_SPARC", "GAS_PPC", "GAS_PARISC", -- "GAS_MIPS", "GAS_ARM", "GAS_S390"}; -+ "GAS_MIPS", "GAS_ARM", "GAS_S390", "GAS_AARCH64"}; - - /* - * Used for archinfo probes (can pack in bitfield) -Index: ATLAS/CONFIG/src/Makefile -=================================================================== ---- ATLAS.orig/CONFIG/src/Makefile -+++ ATLAS/CONFIG/src/Makefile -@@ -260,6 +260,11 @@ IRun_BINDP : - redir=config0.out - - cat config0.out - -+IRun_GAS_AARCH64 : -+ $(CC) $(CCFLAGS) -o xprobe_gas_aarch64 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_aarch64.S -+ $(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_aarch64 args="$(args)" \ -+ redir=config0.out -+ - cat config0.out - IRun_GAS_S390 : - $(CC) $(CCFLAGS) -o xprobe_gas_s390 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_s390.S - $(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_s390 args="$(args)" \ -Index: ATLAS/CONFIG/src/SpewMakeInc.c -=================================================================== ---- ATLAS.orig/CONFIG/src/SpewMakeInc.c -+++ ATLAS/CONFIG/src/SpewMakeInc.c -@@ -391,6 +391,8 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu - - if (MachIsIA64(arch)) - return(sp); -+ if (MachIsAARCH64(arch)) -+ return(sp); - if (MachIsMIPS(arch)) - return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32"); - if (MachIsS390(arch)) -Index: ATLAS/CONFIG/src/atlcomp.txt -=================================================================== ---- ATLAS.orig/CONFIG/src/atlcomp.txt -+++ ATLAS/CONFIG/src/atlcomp.txt -@@ -267,6 +267,17 @@ MACH=ARMv7 OS=ALL LVL=1000 COMPS=dmc,dkc - MACH=ARMv7 OS=ALL LVL=1000 COMPS=f77 - 'gfortran' '-mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=softfp -O' - # -+# AArch64 defaults -+# -+MACH=AARCH64 OS=ALL LVL=1000 COMPS=xcc -+ 'gcc' '-O2' -+MACH=AARCH64 OS=ALL LVL=1000 COMPS=smc,skc,gcc,icc -+ 'gcc' '-O2' -+MACH=AARCH64 OS=ALL LVL=1000 COMPS=dmc,dkc -+ 'gcc' '-O2' -+MACH=AARCH64 OS=ALL LVL=1000 COMPS=f77 -+ 'gfortran' '-O' -+# - # Generic defaults - # - MACH=ALL OS=ALL LVL=5 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc -Index: ATLAS/CONFIG/src/atlconf_misc.c -=================================================================== ---- ATLAS.orig/CONFIG/src/atlconf_misc.c -+++ ATLAS/CONFIG/src/atlconf_misc.c -@@ -563,6 +563,7 @@ enum ARCHFAM ProbeArchFam(char *targ) - else if (strstr(res, "ia64")) fam = AFIA64; - else if (strstr(res, "mips")) fam = AFMIPS; - else if (strstr(res, "arm")) fam = AFARM; -+ else if (strstr(res, "aarch64")) fam = AFAARCH64; - else if (strstr(res, "s390")) fam = AFS390; - else if ( strstr(res, "i686") || strstr(res, "i586") || - strstr(res, "i486") || strstr(res, "i386") || -@@ -588,6 +589,7 @@ enum ARCHFAM ProbeArchFam(char *targ) - strstr(res, "x86_64") ) fam = AFX86; - else if (strstr(res, "mips")) fam = AFMIPS; - else if (strstr(res, "arm")) fam = AFARM; -+ else if (strstr(res, "aarch64")) fam = AFAARCH64; - else if (strstr(res, "s390")) fam = AFS390; - free(res); - } -Index: ATLAS/CONFIG/src/backend/Make.ext -=================================================================== ---- ATLAS.orig/CONFIG/src/backend/Make.ext -+++ ATLAS/CONFIG/src/backend/Make.ext -@@ -57,6 +57,8 @@ probe_gas_arm.S : $(basf) - $(extC) -b $(basf) -o probe_gas_arm.S rout=probe_gas_arm.S - probe_gas_s390.S : $(basf) - $(extC) -b $(basf) -o probe_gas_s390.S rout=probe_gas_s390.S -+probe_gas_aarch64.S : $(basf) -+ $(extC) -b $(basf) -o probe_gas_aarch64.S rout=probe_gas_aarch64.S - probe_AVXMAC.S : $(basf) - $(extC) -b $(basf) -o probe_AVXMAC.S rout=probe_AVXMAC.S - probe_AVXFMA4.S : $(basf) -Index: ATLAS/CONFIG/src/backend/archinfo_linux.c -=================================================================== ---- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c -+++ ATLAS/CONFIG/src/backend/archinfo_linux.c -@@ -267,6 +267,14 @@ enum MACHTYPE ProbeArch() - free(res); - } - break; -+ case AFAARCH64: -+ res = atlsys_1L(NULL, "fgrep 'Processor' /proc/cpuinfo", 0, 0); -+ if (res) -+ { -+ if (strstr(res, "AArch64")) mach = AARCH64; -+ free(res); -+ } -+ break; - default: - #if 0 - if (!CmndOneLine(NULL, "fgrep 'cpu family' /proc/cpuinfo", res)) -Index: ATLAS/CONFIG/src/backend/probe_gas_aarch64.S -=================================================================== ---- /dev/null -+++ ATLAS/CONFIG/src/backend/probe_gas_aarch64.S -@@ -0,0 +1,14 @@ -+#define ATL_GAS_AARCH64 -+#include "atlas_asm.h" -+# -+# Linux AArch64 assembler for: -+# int asm_probe(int i) -+# RETURNS: i*3 -+# -+.text -+.globl ATL_asmdecor(asm_probe) -+.type ATL_asmdecor(asm_probe), %function -+ATL_asmdecor(asm_probe): -+ add w0, w0, w0, LSL #1 -+ ret -+.size ATL_asmdecor(asm_probe),.-ATL_asmdecor(asm_probe) -Index: ATLAS/CONFIG/src/probe_comp.c -=================================================================== ---- ATLAS.orig/CONFIG/src/probe_comp.c -+++ ATLAS/CONFIG/src/probe_comp.c -@@ -582,7 +582,7 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu - char *sp = ""; - int i, j, k; - -- if (MachIsIA64(arch)) -+ if (MachIsIA64(arch) || MachIsAARCH64(arch)) - return(sp); - if (MachIsMIPS(arch)) - return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32"); -Index: ATLAS/include/atlas_genparse.h -=================================================================== ---- ATLAS.orig/include/atlas_genparse.h -+++ ATLAS/include/atlas_genparse.h -@@ -6,13 +6,13 @@ - #include <assert.h> - #include <string.h> - #include <ctype.h> --#define NASMD 9 -+#define NASMD 10 - enum ASMDIA - {ASM_None=0, gas_x86_32, gas_x86_64, gas_sparc, gas_ppc, gas_parisc, -- gas_mips, gas_arm, gas_s390}; -+ gas_mips, gas_arm, gas_s390, gas_aarch64}; - static char *ASMNAM[NASMD] = - {"", "GAS_x8632", "GAS_x8664", "GAS_SPARC", "GAS_PPC", "GAS_PARISC", -- "GAS_MIPS", "GAS_ARM", "GAS_S390"}; -+ "GAS_MIPS", "GAS_ARM", "GAS_S390", "GAS_AARCH64"}; - /* - * Basic data structure for forming queues with some minimal info - */ diff --git a/atlas-affinity.patch b/atlas-affinity.patch deleted file mode 100644 index 2a15d4d..0000000 --- a/atlas-affinity.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up wrk/src/threads/ATL_thread_start.c.wrk wrk/src/threads/ATL_thread_start.c ---- wrk/src/threads/ATL_thread_start.c.wrk 2013-09-23 13:46:51.881085276 +0200 -+++ wrk/src/threads/ATL_thread_start.c 2013-09-24 16:13:59.021065418 +0200 -@@ -101,9 +101,10 @@ int ATL_thread_start(ATL_thread_t *thr, - ATL_assert(!pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED)); - pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); /* no chk, OK to fail */ - #ifdef ATL_PAFF_SETAFFNP -- CPU_ZERO(&cpuset); -- CPU_SET(affID, &cpuset); -- ATL_assert(!pthread_attr_setaffinity_np(&attr, sizeof(cpuset), &cpuset)); -+ //affinity crashes a machine with fewer processors than the builder -+ //CPU_ZERO(&cpuset); -+ //CPU_SET(affID, &cpuset); -+ //ATL_assert(!pthread_attr_setaffinity_np(&attr, sizeof(cpuset), &cpuset)); - #elif defined(ATL_PAFF_SETPROCNP) - ATL_assert(!pthread_attr_setprocessor_np(&attr, (pthread_spu_t)affID, - PTHREAD_BIND_FORCED_NP)); diff --git a/atlas-fedora-arm.patch b/atlas-fedora-arm.patch deleted file mode 100644 index 22a9889..0000000 --- a/atlas-fedora-arm.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- CONFIG/include/atlconf.h 2011-05-14 13:33:24.000000000 -0400 -+++ CONFIG/include/atlconf.h.new 2011-08-30 14:25:41.427136391 -0400 -@@ -16,7 +16,7 @@ - - enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS}; - --#define NMACH 37 -+#define NMACH 38 - static char *machnam[NMACH] = - {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5", - "POWER6", "POWER7", -@@ -25,7 +25,7 @@ - "Efficeon", "K7", "HAMMER", "AMD64K10h", "UNKNOWNx86", - "IA64Itan", "IA64Itan2", - "USI", "USII", "USIII", "USIV", "UST2", "UnknownUS", -- "MIPSR1xK", "MIPSICE9"}; -+ "MIPSR1xK", "MIPSICE9", "ARM"}; - enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, - IbmPwr6, IbmPwr7, - IntP5, IntP5MMX, IntPPRO, IntPII, IntPIII, IntPM, IntCoreS, -@@ -34,7 +34,8 @@ - IA64Itan, IA64Itan2, - SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST2, SunUSX, - MIPSR1xK, /* includes R10K, R12K, R14K, R16K */ -- MIPSICE9 /* SiCortex ICE9 -- like MIPS5K */ -+ MIPSICE9, /* SiCortex ICE9 -- like MIPS5K */ -+ ARM - }; - #define MachIsX86(mach_) \ - ( (mach_) >= IntP5 && (mach_) <= x86X ) -@@ -51,6 +52,8 @@ - #endif - #define MachIsPPC(mach_) \ - ( (mach_) >= PPCG4 && (mach_) <= PPCG5 ) -+#define MachIsARM(mach_) \ -+ ( (mach_) == ARM ) - - static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"}; - static char *f2c_intstr[5] = ---- CONFIG/src/probe_comp.c 2011-05-14 13:33:24.000000000 -0400 -+++ CONFIG/src/probe_comp.c.new 2011-08-30 14:28:31.103015151 -0400 -@@ -507,6 +507,8 @@ - - if (MachIsIA64(arch)) - return(sp); -+ if (MachIsARM(arch)) -+ return(sp); - if (MachIsMIPS(arch)) - return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32"); - if (!CompIsGcc(comp)) diff --git a/atlas-fedora_shared.patch b/atlas-fedora_shared.patch deleted file mode 100644 index 98caa61..0000000 --- a/atlas-fedora_shared.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- makes/Make.lib 2008-06-06 20:57:46.000000000 -0400 -+++ makes/Make.lib.new 2008-12-21 15:36:21.000000000 -0500 -@@ -3,6 +3,8 @@ - # - # override with libatlas.so only when atlas is built to one lib - # -+so_ver_major=3 -+so_ver = $(so_ver_major).0 - DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so - PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so - CDYNlibs = liblapack.so libcblas.so libatlas.so -@@ -32,38 +34,78 @@ - mv $(tarnam).tar.gz $(tarnam).tgz - - ptshared : -- - rm -f libatlas.so liblapack.so -- $(MAKE) libatlas.so liblapack.so libptf77blas.so libf77blas.so \ -- libptcblas.so libcblas.so liblapack.so -+ - rm -f libatlas.so* liblapack.so* \ -+ lib*blas.so* libclapack.so* -+ $(MAKE) libatlas.so libcblas.so libptf77blas.so libf77blas.so \ -+ libptcblas.so liblapack.so libclapack.so - shared : -- - rm -f libatlas.so liblapack.so -- $(MAKE) libatlas.so liblapack.so libf77blas.so libcblas.so liblapack.so -+ - rm -f libatlas.so liblapack.so \ -+ libatlas.so.$(so_ver) liblapack.so.$(so_ver) -+ $(MAKE) libatlas.so libcblas.so libf77blas.so liblapack.so libclapack.so - cptshared : -- - rm -f libatlas.so libclapack.so -- $(MAKE) libatlas.so libclapack.so libptcblas.so libcblas.so -+ - rm -f libatlas.so libclapack.so \ -+ libatlas.so.$(so_ver) libclapack.so.$(so_ver) -+ $(MAKE) libatlas.so libptcblas.so libcblas.so libclapack.so - cshared : -- - rm -f libatlas.so libclapack.so -- $(MAKE) libatlas.so libclapack.so libcblas.so -+ - rm -f libatlas.so libclapack.so \ -+ libatlas.so.$(so_ver) libclapack.so.$(so_ver) -+ $(MAKE) libatlas.so libcblas.so libclapack.so - - libatlas.so : libatlas.a -- ld $(LDFLAGS) -shared -soname libatlas.so -o libatlas.so \ -- --whole-archive libatlas.a --no-whole-archive -lc $(LIBS) -+ mkdir static_libs ; cd static_libs ; ar x ../libatlas.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libatlas.so.$(so_ver_major) \ -+ -o libatlas.so.$(so_ver) static_libs/*.o -lc $(LIBS) -+ rm -rf static_libs -+ ln -s ./libatlas.so.$(so_ver) libatlas.so.$(so_ver_major) -+ ln -s ./libatlas.so.$(so_ver) libatlas.so - liblapack.so : liblapack.a -- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive \ -- liblapack.a --no-whole-archive $(F77SYSLIB) -+ mkdir static_libs ; cd static_libs ; ar x ../liblapack.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=liblapack.so.$(so_ver_major) \ -+ -o liblapack.so.$(so_ver) static_libs/*.o $(F77SYSLIB) \ -+ libf77blas.so.$(so_ver_major) libcblas.so.$(so_ver_major) -+ rm -rf static_libs -+ ln -s ./liblapack.so.$(so_ver) liblapack.so.$(so_ver_major) -+ ln -s ./liblapack.so.$(so_ver) liblapack.so - libclapack.so : libclapack.a -- ld $(LDFLAGS) -shared -soname liblapack.so -o liblapack.so \ -- --whole-archive libclapack.a -+ mkdir static_libs ; cd static_libs ; ar x ../libclapack.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libclapack.so.$(so_ver_major) \ -+ -o libclapack.so.$(so_ver) static_libs/*.o \ -+ libcblas.so.$(so_ver_major) -lc $(LIBS) -+ rm -rf static_libs -+ ln -s ./libclapack.so.$(so_ver) libclapack.so.$(so_ver_major) -+ ln -s ./libclapack.so.$(so_ver) libclapack.so - libptf77blas.so : libptf77blas.a -- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptf77blas.a \ -- --no-whole-archive $(F77SYSLIB) -+ mkdir static_libs ; cd static_libs ; ar x ../libptf77blas.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libptf77blas.so.$(so_ver_major) \ -+ -o libptf77blas.so.$(so_ver) static_libs/*.o \ -+ libatlas.so.$(so_ver) $(F77SYSLIB) -+ rm -rf static_libs -+ ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so.$(so_ver_major) -+ ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so - libf77blas.so : libf77blas.a -- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libf77blas.a \ -- --no-whole-archive $(F77SYSLIB) -+ mkdir static_libs ; cd static_libs ; ar x ../libf77blas.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libf77blas.so.$(so_ver_major) \ -+ -o libf77blas.so.$(so_ver) static_libs/*.o \ -+ libatlas.so.$(so_ver) $(F77SYSLIB) -+ rm -rf static_libs -+ ln -s ./libf77blas.so.$(so_ver) libf77blas.so.$(so_ver_major) -+ ln -s ./libf77blas.so.$(so_ver) libf77blas.so - libptcblas.so : libptcblas.a -- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptcblas.a -+ mkdir static_libs ; cd static_libs ; ar x ../libptcblas.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libptcblas.so.$(so_ver_major) \ -+ -o libptcblas.so.$(so_ver) static_libs/*.o \ -+ libatlas.so.$(so_ver) -lc $(LIBS) -+ rm -rf static_libs -+ ln -s ./libptcblas.so.$(so_ver) libptcblas.so.$(so_ver_major) -+ ln -s ./libptcblas.so.$(so_ver) libptcblas.so - libcblas.so : libcblas.a -- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a -+ mkdir static_libs ; cd static_libs ; ar x ../libcblas.a ; cd ../ -+ gcc $(LDFLAGS) -shared -Wl,-soname=libcblas.so.$(so_ver_major) \ -+ -o libcblas.so.$(so_ver) static_libs/*.o \ -+ libatlas.so.$(so_ver) -lc $(LIBS) -+ rm -rf static_libs -+ ln -s ./libcblas.so.$(so_ver) libcblas.so.$(so_ver_major) -+ ln -s ./libcblas.so.$(so_ver) libcblas.so - # - # Builds one shared lib from all ATLAS files - # diff --git a/atlas-new_archdef_for_ppc64le.patch b/atlas-new_archdef_for_ppc64le.patch deleted file mode 100644 index 0356786..0000000 --- a/atlas-new_archdef_for_ppc64le.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: atlas new archdef for ppc64le -From: Michel Normand normand@linux.vnet.ibm.com -Date: Sun, 13 Jun 2014 18:02:47 +0200 - -Need to define different archdef names -for ppc64 (that is Big Endian) and ppc64le (that is Little Endian). -This is already done upstream in atlas 3.11.30 with issue -https://sourceforge.net/p/math-atlas/patches/66/ - -Required at least as long as I need the bypass of -atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch - -Signed-off-by: Michel Normand normand@linux.vnet.ibm.com ---- - CONFIG/src/SpewMakeInc.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: ATLAS/CONFIG/src/SpewMakeInc.c -=================================================================== ---- ATLAS.orig/CONFIG/src/SpewMakeInc.c -+++ ATLAS/CONFIG/src/SpewMakeInc.c -@@ -542,6 +542,10 @@ int main(int nargs, char **args) - fprintf(fpout, "# -------------------------------------------------\n"); - fprintf(fpout, " ARCH = %s", machnam[mach]); - fprintf(fpout, "%d", ptrbits); -+ /* for ppc64le archi add 'LE' characters */ -+ #if defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) -+ fprintf(fpout, "%s", "LE"); -+ #endif - if (ISAX) - fprintf(fpout, "%s", ISAXNAM[ISAX]); - if (!USEIEEE) diff --git a/atlas-sparc-linux.patch b/atlas-sparc-linux.patch deleted file mode 100644 index d865a0f..0000000 --- a/atlas-sparc-linux.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -uNr ATLAS.orig/CONFIG/src/backend/archinfo_linux.c ATLAS/CONFIG/src/backend/archinfo_linux.c ---- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c 2010-02-01 23:28:58.000000000 +0000 -+++ ATLAS/CONFIG/src/backend/archinfo_linux.c 2010-02-02 22:38:31.000000000 +0000 -@@ -145,14 +145,12 @@ - * Add these back if we get machine access and can test - */ - case AFSPARC: /* don't know here anymore */ -- #if 0 - if ( !CmndOneLine(NULL, "fgrep cpu /proc/cpuinfo", res) ) - { -- if (strstr(res, "UltraSparc II")) mach = SunUS2; -- else if (strstr(res, "UltraSparc I")) mach = SunUS1; -- else if (strstr(res, "UltraSparc")) mach = SunUSX; -+ if (strstr(res, "UltraSparc II")) mach = SunUSII; -+ else if (strstr(res, "UltraSparc I")) mach = SunUSI; -+ else if (strstr(res, "UltraSparc")) mach = SunUSII; - } -- #endif - break; - case AFALPHA: - #if 0 -@@ -196,6 +194,11 @@ - reslns = CmndResults(NULL, "grep '^processor' /proc/cpuinfo"); - if (reslns) ncpu = fNumLines(reslns); - } -+ if (__sparc__) -+ { -+ reslns = CmndResults(NULL, "grep '^CPU.*online' /proc/cpuinfo"); -+ if (reslns) ncpu = fNumLines(reslns); -+ } - return(ncpu); - } - -diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2010-02-01 23:29:23.000000000 +0000 -+++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2010-02-01 23:30:07.000000000 +0000 -@@ -95,6 +95,11 @@ - #define incBm %g3 - #define incBn %g4 - -+#if defined(__sparc__) && defined(__arch64__) -+ .register %g2, #scratch -+ .register %g3, #scratch -+#endif -+ - #ifdef DCPLX - #define incCm 64 - #define CSH 4 -diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c 2010-02-01 23:29:24.000000000 +0000 -+++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c 2010-02-01 23:30:08.000000000 +0000 -@@ -135,6 +135,11 @@ - #define pfB %i2 /* aliased with ldab */ - #endif - -+#if defined(__sparc__) && defined(__arch64__) -+ .register %g2, #scratch -+ .register %g3, #scratch -+#endif -+ - #ifdef DCPLX - #define CMUL(arg_) ((arg_)*2) - #define incCm 64 -diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2010-02-01 23:29:25.000000000 +0000 -+++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2010-02-01 23:30:09.000000000 +0000 -@@ -93,6 +93,12 @@ - #define rC23 %f30 - #define rC33 %f31 - #define FSIZE 64 -+ -+#if defined(__sparc__) && defined(__arch64__) -+ .register %g2, #scratch -+ .register %g3, #scratch -+#endif -+ - #ifdef SCPLX - #define CSH 3 - #define CMUL(arg_) ((arg_)*2) -diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c 2010-02-01 23:29:25.000000000 +0000 -+++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c 2010-02-01 23:30:09.000000000 +0000 -@@ -108,6 +108,12 @@ - #define rC23 %f30 - #define rC33 %f31 - #define FSIZE 64 -+ -+#if defined(__sparc__) && defined(__arch64__) -+ .register %g2, #scratch -+ .register %g3, #scratch -+#endif -+ - #ifdef SCPLX - #define CSH 3 - #define CMUL(arg_) ((arg_)*2) diff --git a/atlas.3.10.2-add_power8_cpu.patch b/atlas.3.10.2-add_power8_cpu.patch deleted file mode 100644 index 7b58353..0000000 --- a/atlas.3.10.2-add_power8_cpu.patch +++ /dev/null @@ -1,131 +0,0 @@ -From: Michel Normand normand@linux.vnet.ibm.com -Subject: atlas.3.10.2 add power8 cpu -Date: Thu, 18 Sep 2014 15:13:24 +0200 - -atlas.3.10.2 add Power8 cpu -tracked upstream by issue 67 -https://sourceforge.net/p/math-atlas/patches/67/ - -Signed-off-by: Michel Normand normand@linux.vnet.ibm.com ---- - CONFIG/ARCHS/Make.ext | 7 +++++++ - CONFIG/include/atlconf.h | 6 +++--- - CONFIG/src/atlcomp.txt | 6 ++++++ - CONFIG/src/backend/archinfo_aix.c | 2 ++ - CONFIG/src/backend/archinfo_linux.c | 1 + - include/atlas_pca.h | 2 +- - 6 files changed, 20 insertions(+), 4 deletions(-) - -Index: ATLAS/CONFIG/ARCHS/Make.ext -=================================================================== ---- ATLAS.orig/CONFIG/ARCHS/Make.ext -+++ ATLAS/CONFIG/ARCHS/Make.ext -@@ -33,6 +33,7 @@ files = AMD64K10h32SSE3.tar.bz2 AMD64K10 - MIPSR1xK64.tar.bz2 Makefile P432SSE2.tar.bz2 P4E32SSE3.tar.bz2 \ - P4E64SSE3.tar.bz2 PIII32SSE1.tar.bz2 POWER432.tar.bz2 \ - POWER464.tar.bz2 POWER564.tar.bz2 POWER764VSX.tar.bz2 \ -+ POWER864VSX.tar.bz2 \ - PPCG432AltiVec.tar.bz2 PPCG532AltiVec.tar.bz2 PPCG564AltiVec.tar.bz2 \ - PPRO32.tar.bz2 USIII32.tar.bz2 USIII64.tar.bz2 USIV32.tar.bz2 \ - USIV64.tar.bz2 UST232.tar.bz2 UST264.tar.bz2 atlas_test1.1.3.tar.bz2 \ -@@ -308,6 +309,12 @@ POWER764VSX.tar.bz2 : $(basdr)/POWER764V - /tmp/POWER764VSX.tar POWER764VSX - bzip2 /tmp/POWER764VSX.tar - mv /tmp/POWER764VSX.tar.bz2 ./. -+POWER864VSX.tar.bz2 : $(basdr)/POWER864VSX -+ - rm -f /tmp/POWER864VSX.tar /tmp/POWER864VSX.tar.bz2 -+ cd $(basdr) ; tar --dereference --exclude 'CVS' -c -f \ -+ /tmp/POWER864VSX.tar POWER864VSX -+ bzip2 /tmp/POWER864VSX.tar -+ mv /tmp/POWER864VSX.tar.bz2 ./. - IBMz1032.tar.bz2 : $(basdr)/IBMz1032 - - rm -f /tmp/IBMz1032.tar /tmp/IBMz1032.tar.bz2 - cd $(basdr) ; tar --dereference --exclude 'CVS' -c -f \ -Index: ATLAS/CONFIG/include/atlconf.h -=================================================================== ---- ATLAS.orig/CONFIG/include/atlconf.h -+++ ATLAS/CONFIG/include/atlconf.h -@@ -18,10 +18,10 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS - enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS, - AFARM, AFS390}; - --#define NMACH 52 -+#define NMACH 53 - static char *machnam[NMACH] = - {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5", -- "POWER6", "POWER7", "POWERe6500", "IBMz9", "IBMz10", "IBMz196", -+ "POWER6", "POWER7", "POWER8", "POWERe6500", "IBMz9", "IBMz10", "IBMz196", - "x86x87", "x86SSE1", "x86SSE2", "x86SSE3", - "P5", "P5MMX", "PPRO", "PII", "PIII", "PM", "CoreSolo", - "CoreDuo", "Core2Solo", "Core2", "Corei1", "Corei2", "Corei3", -@@ -31,7 +31,7 @@ static char *machnam[NMACH] = - "USI", "USII", "USIII", "USIV", "UST1", "UST2", "UnknownUS", - "MIPSR1xK", "MIPSICE9", "ARMv7"}; - enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, -- IbmPwr6, IbmPwr7, Pwre6500, -+ IbmPwr6, IbmPwr7, IbmPwr8, Pwre6500, - IbmZ9, IbmZ10, IbmZ196, /* s390(x) in Linux */ - x86x87, x86SSE1, x86SSE2, x86SSE3, /* generic targets */ - IntP5, IntP5MMX, IntPPRO, IntPII, IntPIII, IntPM, IntCoreS, -Index: ATLAS/CONFIG/src/atlcomp.txt -=================================================================== ---- ATLAS.orig/CONFIG/src/atlcomp.txt -+++ ATLAS/CONFIG/src/atlcomp.txt -@@ -190,6 +190,10 @@ MACH=PPCG5 OS=ALL LVL=1000 COMPS=dmc,icc - 'gcc' '-mpowerpc64 -maltivec -mabi=altivec -mcpu=970 -mtune=970 -O2' - MACH=PPCG5 OS=ALL LVL=1000 COMPS=skc - 'gcc' '-mpowerpc64 -maltivec -mabi=altivec -mcpu=970 -mtune=970 -O2 -mvrsave' -+MACH=POWER8 OS=ALL LVL=1010 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc -+ 'gcc' '-O2 -mvsx -mcpu=power8 -mtune=power8 -m64 -mvrsave -funroll-all-loops' -+MACH=POWER8 OS=ALL LVL=1010 COMPS=f77 -+ 'gfortran' '-O2 -mvsx -mcpu=power8 -mtune=power8 -m64 -mvrsave -funroll-all-loops' - MACH=POWER7 OS=ALL LVL=1010 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc - 'gcc' '-O2 -mvsx -mcpu=power7 -mtune=power7 -m64 -mvrsave -funroll-all-loops' - MACH=POWER7 OS=ALL LVL=1010 COMPS=f77 -@@ -210,6 +214,8 @@ MACH=POWER4 OS=ALL LVL=1010 COMPS=icc,dm - 'gcc' '-mcpu=power4 -mtune=power4 -O3 -fno-schedule-insns -fno-rerun-loop-opt' - MACH=POWER4 OS=ALL LVL=1010 COMPS=f77 - 'xlf' '-qtune=pwr4 -qarch=pwr4 -O3 -qmaxmem=-1 -qfloat=hsflt' -+MACH=POWER8 OS=ALL LVL=1010 COMPS=f77 -+ 'xlf' '-qtune=pwr8 -qarch=pwr8 -O3 -qmaxmem=-1 -qfloat=hsflt' - # - # IBM System z or zEnterprise. - # These compiler flags given by IBM; -O3 -funroll-loops are chosen because -Index: ATLAS/CONFIG/src/backend/archinfo_linux.c -=================================================================== ---- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c -+++ ATLAS/CONFIG/src/backend/archinfo_linux.c -@@ -77,6 +77,7 @@ enum MACHTYPE ProbeArch() - else if (strstr(res, "7455")) mach = PPCG4; - else if (strstr(res, "PPC970FX")) mach = PPCG5; - else if (strstr(res, "PPC970MP")) mach = PPCG5; -+ else if (strstr(res, "POWER8")) mach = IbmPwr8; - else if (strstr(res, "POWER7")) mach = IbmPwr7; - else if (strstr(res, "POWER6")) mach = IbmPwr6; - else if (strstr(res, "POWER5")) mach = IbmPwr5; -Index: ATLAS/include/atlas_pca.h -=================================================================== ---- ATLAS.orig/include/atlas_pca.h -+++ ATLAS/include/atlas_pca.h -@@ -26,7 +26,7 @@ - #endif - #elif defined(ATL_ARCH_POWER3) || defined(ATL_ARCH_POWER4) || \ - defined(ATL_ARCH_POWER5) || defined(ATL_ARCH_POWER6) || \ -- defined(ATL_ARCH_POWER7) -+ defined(ATL_ARCH_POWER7) || defined(ATL_ARCH_POWER8) - #ifdef __GNUC__ - #define ATL_membarrier __asm__ __volatile__ ("dcs") - /* #define ATL_USEPCA 1 */ -Index: ATLAS/CONFIG/src/backend/archinfo_aix.c -=================================================================== ---- ATLAS.orig/CONFIG/src/backend/archinfo_aix.c -+++ ATLAS/CONFIG/src/backend/archinfo_aix.c -@@ -67,6 +67,8 @@ enum MACHTYPE ProbeArch() - { - if (strstr(res, "PowerPC_POWER5")) - mach = IbmPwr5; -+ else if (strstr(res, "PowerPC_POWER8")) -+ mach = IbmPwr8; - else if (strstr(res, "PowerPC_POWER7")) - mach = IbmPwr7; - else if (strstr(res, "PowerPC_POWER6")) diff --git a/atlas.3.10.2-ppc64le_abiv2.patch b/atlas.3.10.2-ppc64le_abiv2.patch deleted file mode 100644 index 6633d95..0000000 --- a/atlas.3.10.2-ppc64le_abiv2.patch +++ /dev/null @@ -1,220 +0,0 @@ -From: Michel Normand normand@linux.vnet.ibm.com -Subject: atlas.3.10.2 ppc64le abiv2 patch -Date: Mon, 28 Jul 2014 04:29:05 -0400 - -atlas.3.10.2 abiv2 step2 complete the changes already present in atlas 3.10.2 -* still some files with opd ABI V1 to be disabled for ABI V2 - tune/blas/gemm/CASES/ATL_dmm4x4x32_ppc.c - tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c - tune/blas/gemm/CASES/ATL_smm4x4x128_av.c - -atlas.3.10.2 ppc64le abiv2 step3 -* change offsets of parameters read from stack to avoid some segfaults. - (values changes 120 => 104 and 128 => 112 identified by gdb investigation) - -Despite this step3 patch there are two Remaining problems for ppc64le archi: -* TODO: still have seg-faults in console during build/check -but is not critical (without make check) and rpm are generated on fedora. -unable to investigate because of problem tracked by issue 950 -https://sourceforge.net/p/math-atlas/support-requests/950/ - -* TODO: make check failure because xsslvtst execution failure -related to vector assembly code that assumes big-endian env -as written in ATL_cmm4x4x128_av.c and ATL_smm4x4x128_av.c. -Would need significant work to support little-endian as per -endianess comments of all PowerPC vector instructions in: -https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/FBFA164F824370F987... - -Signed-off-by: Michel Normand normand@linux.vnet.ibm.com ---- - tune/blas/gemm/CASES/ATL_cmm4x4x128_av.c | 7 +++++++ - tune/blas/gemm/CASES/ATL_dmm4x4x2pf_av.c | 7 +++++++ - tune/blas/gemm/CASES/ATL_dmm4x4x32_ppc.c | 9 ++++++++- - tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c | 20 ++++++++++++++++++-- - tune/blas/gemm/CASES/ATL_smm4x4x128_av.c | 23 ++++++++++++++++++++++- - 5 files changed, 62 insertions(+), 4 deletions(-) - -Index: ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x32_ppc.c -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x32_ppc.c -+++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x32_ppc.c -@@ -268,7 +268,7 @@ Mjoin(.,ATL_USERMM): - .globl Mjoin(_,ATL_USERMM) - Mjoin(_,ATL_USERMM): - #else -- #if defined(ATL_USE64BITS) -+ #if defined(ATL_USE64BITS) && _CALL_ELF != 2 - /* - * Official Program Descripter section, seg fault w/o it on Linux/PPC64 - */ -@@ -324,8 +324,15 @@ ATL_USERMM: - #endif - - #ifdef ATL_USE64BITS -+#if _CALL_ELF == 2 -+/* ABIv2 */ -+ ld pC0, 104(r1) -+ ld incCn, 112(r1) -+#else -+/* ABIv1 */ - ld pC0, 120(r1) - ld incCn, 128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) || defined(ATL_AS_AIX_PPC) - lwz pC0, 68(r1) - lwz incCn, 72(r1) -Index: ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c -+++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c -@@ -170,13 +170,21 @@ void ATL_USERMM(const int M, const int N - const TYPE beta, TYPE *C, const int ldc) - (r10) 8(r1) - ******************************************************************************* --64 bit ABIs: -+64 bit ABIv1s: - r3 r4 r5 r6/f1 - void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha, - r7 r8 r9 r10 - const TYPE *A, const int lda, const TYPE *B, const int ldb, - f2 120(r1) 128(r1) - const TYPE beta, TYPE *C, const int ldc) -+ -+64 bit ABIv2s: -+ r3 r4 r5 r6/f1 -+void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha, -+ r7 r8 r9 r10 -+ const TYPE *A, const int lda, const TYPE *B, const int ldb, -+ f2 104(r1) 112(r1) -+ const TYPE beta, TYPE *C, const int ldc) - #endif - #ifdef ATL_AS_AIX_PPC - .csect .text[PR] -@@ -202,7 +210,7 @@ Mjoin(.,ATL_USERMM): - .globl Mjoin(_,ATL_USERMM) - Mjoin(_,ATL_USERMM): - #else -- #if defined(ATL_USE64BITS) -+ #if defined(ATL_USE64BITS) && _CALL_ELF != 2 - /* - * Official Program Descripter section, seg fault w/o it on Linux/PPC64 - */ -@@ -257,9 +265,17 @@ ATL_USERMM: - #endif - #endif - -+ - #if defined (ATL_USE64BITS) -+#if _CALL_ELF == 2 -+/* ABIv2 */ -+ ld pC0, 104(r1) -+ ld incCn, 112(r1) -+#else -+/* ABIv1 */ - ld pC0, 120(r1) - ld incCn, 128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) || defined(ATL_AS_AIX_PPC) - lwz pC0, 68(r1) - lwz incCn, 72(r1) -Index: ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x128_av.c -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x128_av.c -+++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x128_av.c -@@ -196,7 +196,7 @@ void ATL_USERMM(const int M, const int N - .globl Mjoin(_,ATL_USERMM) - Mjoin(_,ATL_USERMM): - #else -- #if defined(ATL_USE64BITS) -+ #if defined(ATL_USE64BITS) && _CALL_ELF != 2 - /* - * Official Program Descripter section, seg fault w/o it on Linux/PPC64 - */ -@@ -221,8 +221,15 @@ ATL_USERMM: - * kernel instead - */ - #if defined (ATL_USE64BITS) -+#if _CALL_ELF == 2 -+/* ABIv2 */ -+ ld r10, 104(r1) -+ ld r5, 112(r1) -+#else -+/* ABIv1 */ - ld r10, 120(r1) - ld r5, 128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) - lwz r10, 60(r1) - lwz r5, 64(r1) -@@ -285,8 +292,15 @@ ATL_USERMM: - eqv r0, r0, r0 /* all 1s */ - ATL_WriteVRSAVE(r0) /* signal we use all vector regs */ - #if defined (ATL_USE64BITS) -+#if _CALL_ELF == 2 -+ /* ABIv2 */ -+ ld pC0, FSIZE+104(r1) -+ ld ldc, FSIZE+112(r1) -+#else -+ /* ABIv1 */ - ld pC0, FSIZE+120(r1) - ld ldc, FSIZE+128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) - lwz pC0, FSIZE+60(r1) - lwz ldc, FSIZE+64(r1) -@@ -4258,8 +4272,15 @@ UNALIGNED_C: - eqv r0, r0, r0 /* all 1s */ - ATL_WriteVRSAVE(r0) /* signal we use all vector regs */ - #if defined (ATL_USE64BITS) -+#if _CALL_ELF == 2 -+ /* ABIv2 */ -+ ld pC0, FSIZE+104(r1) -+ ld ldc, FSIZE+112(r1) -+#else -+ /* ABIv1 */ - ld pC0, FSIZE+120(r1) - ld ldc, FSIZE+128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) - lwz pC0, FSIZE+60(r1) - lwz ldc, FSIZE+64(r1) -Index: ATLAS/tune/blas/gemm/CASES/ATL_cmm4x4x128_av.c -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_cmm4x4x128_av.c -+++ ATLAS/tune/blas/gemm/CASES/ATL_cmm4x4x128_av.c -@@ -258,8 +258,15 @@ ATL_USERMM: - eqv r0, r0, r0 /* all 1s */ - ATL_WriteVRSAVE(r0) /* signal we use all vector regs */ - #if defined (ATL_USE64BITS) -+#if _CALL_ELF == 2 -+/* ABIv2 */ -+ ld pC0, FSIZE+104(r1) -+ ld ldc, FSIZE+112(r1) -+#else -+/* ABIv1 */ - ld pC0, FSIZE+120(r1) - ld ldc, FSIZE+128(r1) -+#endif - #elif defined(ATL_AS_OSX_PPC) - lwz pC0, FSIZE+60(r1) - lwz ldc, FSIZE+64(r1) -Index: ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2pf_av.c -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2pf_av.c -+++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2pf_av.c -@@ -405,8 +405,15 @@ Mjoin(_,ATL_USERMM): - */ - #ifdef ATL_GAS_LINUX_PPC - #ifdef ATL_USE64BITS -+ #if _CALL_ELF == 2 -+ /* ABIv2 */ -+ ld pC0, 104(r1) -+ ld incCn, 112(r1) -+ #else -+ /* ABIv1 */ - ld pC0, 120(r1) - ld incCn, 128(r1) -+ #endif - #else - lwz incCn, FSIZE+8(r1) - #endif diff --git a/atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch b/atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch deleted file mode 100644 index a3a6607..0000000 --- a/atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch +++ /dev/null @@ -1,151 +0,0 @@ -From: Michel Normand normand@linux.vnet.ibm.com -Subject: atlas.3.10.2 ppc64le do not use files with lvx -Date: Tue, 12 Aug 2014 16:07:06 +0200 - -ppc64le do not use files with lvx -This is a temporary patch as long as the related files -are not ported yet to ppc64 little-endian. - -Warning: patch to be applied only for ppc64le architecture -and will also need atlas-new_archdef_for_ppc64le.patch - -Signed-off-by: Michel Normand normand@linux.vnet.ibm.com ---- - tune/blas/gemm/CASES/ccases.flg | 6 +----- - tune/blas/gemm/CASES/dcases.flg | 8 +------- - tune/blas/gemm/CASES/dcases.vnb | 4 ---- - tune/blas/gemm/CASES/scases.flg | 9 +-------- - tune/blas/gemm/CASES/scases.vnb | 3 --- - tune/blas/gemm/CASES/zcases.flg | 8 +------- - 6 files changed, 4 insertions(+), 34 deletions(-) - -Index: ATLAS/tune/blas/gemm/CASES/ccases.flg -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/ccases.flg -+++ ATLAS/tune/blas/gemm/CASES/ccases.flg -@@ -1,5 +1,5 @@ - <ID> <flag> <mb> <nb> <kb> <muladd> <lat> <mu> <nu> <ku> <rout> "<Contributer>" --24 -+22 - 304 192 4 3 8 0 4 4 3 8 ATL_mm4x3x8p.c "R. Clint Whaley" \ - gcc - -mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O -@@ -48,13 +48,9 @@ gcc - 328 480 8 8 2 1 1 8 8 2 ATL_mm8x8x2.c "R. Clint Whaley" \ - gcc - -fomit-frame-pointer -O2 -fno-tree-loop-optimize --329 192 4 4 4 1 16 4 4 4 ATL_cmm4x4x128_av.c "R. Clint Whaley" \ --gcc ---x assembler-with-cpp - 331 192 4 4 1 1 1 4 4 1 ATL_smm4x4xURx_mips.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mips4 --332 192 8 2 4 1 0 8 2 4 ATL_smm8x2x4_av.c "IBM" - 333 448 4 4 2 1 1 4 4 2 ATL_smm4x4x2pf_arm.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mfpu=vfpv3 -Index: ATLAS/tune/blas/gemm/CASES/scases.flg -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/scases.flg -+++ ATLAS/tune/blas/gemm/CASES/scases.flg -@@ -1,5 +1,5 @@ - <ID> <flag> <mb> <nb> <kb> <muladd> <lat> <mu> <nu> <ku> <rout> "<Contributer>" --25 -+22 - 304 192 4 3 8 0 4 4 3 8 ATL_mm4x3x8p.c "R. Clint Whaley" \ - gcc - -mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O -@@ -48,16 +48,9 @@ gcc - 328 480 8 8 2 1 1 8 8 2 ATL_mm8x8x2.c "R. Clint Whaley" \ - gcc - -fomit-frame-pointer -O2 -fno-tree-loop-optimize --329 192 4 4 4 1 16 4 4 4 ATL_smm4x4x128_av.c "R. Clint Whaley" \ --gcc ---x assembler-with-cpp --330 200 92 92 92 1 16 92 92 92 ATL_smm4x4x128_av.c "R. Clint Whaley" \ --gcc ---x assembler-with-cpp - 331 192 4 4 1 1 1 4 4 1 ATL_smm4x4xURx_mips.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mips4 --332 192 8 2 4 1 0 8 2 4 ATL_smm8x2x4_av.c "IBM" - 333 448 4 4 2 1 1 4 4 2 ATL_smm4x4x2pf_arm.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mfpu=vfpv3 -Index: ATLAS/tune/blas/gemm/CASES/scases.vnb -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/scases.vnb -+++ ATLAS/tune/blas/gemm/CASES/scases.vnb -@@ -31,9 +31,6 @@ - # Defaults: TA='t', TB='n', SSE=0, X87=0, LDBOT=1, RTKU=0, AOUTER=0, - # KBMAX=KU, KBMIN=KU, BETAN1=0, RTMN=1 - # --ID=1 ROUT='ATL_smm4x4x128_av.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=4 \ -- LDKB=1 LDBOT=1 KBMIN=4 KBMAX=128 ASM=GAS_PPC \ -- COMP='gcc' FLAGS='-x assembler-with-cpp' - ID=2 ROUT='ATL_smm4x4x16_av.c' AUTH='R. Clint Whaley' MU=4 NU=4 KU=16 \ - LDKB=1 LDBOT=0 KBMIN=16 KBMAX=2048 ASM=GAS_SPARC \ - COMP='gcc' FLAGS='-x assembler-with-cpp' -Index: ATLAS/tune/blas/gemm/CASES/dcases.flg -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/dcases.flg -+++ ATLAS/tune/blas/gemm/CASES/dcases.flg -@@ -1,5 +1,5 @@ - <ID> <flag> <mb> <nb> <kb> <muladd> <lat> <mu> <nu> <ku> <rout> "<Contributer>" --32 -+30 - 306 192 4 3 8 0 4 4 3 8 ATL_mm4x3x8p.c "R. Clint Whaley" \ - gcc - -mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O -fno-schedule-insns -fno-schedule-insns2 -@@ -79,12 +79,6 @@ gcc - 336 192 4 4 1 1 1 4 4 1 ATL_dmm4x4xURx_mips.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mips4 --337 192 4 4 1 1 16 4 4 1 ATL_dmm4x4x80_ppc.c "Whaley & Castaldo" \ --gcc ---x assembler-with-cpp --338 192 8 4 2 1 0 8 4 2 ATL_dmm8x4x2_vsx.c "IBM" \ --gcc ---O3 -mvsx - 339 448 4 4 2 1 1 4 4 2 ATL_dmm4x4x2pf_arm.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mfpu=vfpv3 -Index: ATLAS/tune/blas/gemm/CASES/dcases.vnb -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/dcases.vnb -+++ ATLAS/tune/blas/gemm/CASES/dcases.vnb -@@ -53,10 +53,6 @@ ID=6 ROUT='ATL_dmm4x1x90_x87.c' AUTH='R - ID=7 ROUT='ATL_dmm8x1x120_sse2.c' AUTH='R. Clint Whaley' \ - MU=8 NU=1 KU=1 KBMAX=512 ASM=GAS_x8664 BETAN1=1 \ - COMP='gcc' FLAGS='-m64 -x assembler-with-cpp' --ID=70 ROUT='ATL_dmm4x4x80_ppc.c' AUTH='R. Clint Whaley' TA='T', TB='N' \ -- MU=4 NU=4 KU=1 KBMIN=1 KBMAX=80 ASM=GAS_PPC BETAN1=0 LDBOT=0 \ -- LDAB=0 LDISKB=1 RTN=1 RTM=1 RTK=0 \ -- COMP='gcc' FLAGS='-x assembler-with-cpp' - ID=80 ROUT='ATL_dmm4x4x16r8_US.c' AUTH='R. Clint Whaley' TA='T', TB='N' \ - MU=4 NU=4 KU=24 KBMIN=24 KBMAX=512 ASM=GAS_SPARC BETAN1=0 \ - LDAB=0 RTK=1 RTN=1 RTM=1 LDBOT=0 LDISKB=1 LDAB=1 \ -Index: ATLAS/tune/blas/gemm/CASES/zcases.flg -=================================================================== ---- ATLAS.orig/tune/blas/gemm/CASES/zcases.flg -+++ ATLAS/tune/blas/gemm/CASES/zcases.flg -@@ -1,5 +1,5 @@ - <ID> <flag> <mb> <nb> <kb> <muladd> <lat> <mu> <nu> <ku> <rout> "<Contributer>" --31 -+29 - 306 192 4 3 8 0 4 4 3 8 ATL_mm4x3x8p.c "R. Clint Whaley" \ - gcc - -mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O -fno-schedule-insns -fno-schedule-insns2 -@@ -76,12 +76,6 @@ gcc - 336 192 4 4 1 1 1 4 4 1 ATL_dmm4x4xURx_mips.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mips4 --337 192 4 4 1 1 16 4 4 1 ATL_dmm4x4x80_ppc.c "Whaley & Castaldo" \ --gcc ---x assembler-with-cpp --338 192 8 4 2 1 0 8 4 2 ATL_dmm8x4x2_vsx.c "IBM" \ --gcc ---O3 -mvsx - 339 448 4 4 2 1 1 4 4 2 ATL_dmm4x4x2pf_arm.c "R. Clint Whaley" \ - gcc - -x assembler-with-cpp -mfpu=vfpv3 diff --git a/atlas.spec b/atlas.spec index 08c2767..5cbac4c 100644 --- a/atlas.spec +++ b/atlas.spec @@ -12,39 +12,49 @@ License: BSD URL: http://math-atlas.sourceforge.net/ Source0: http://downloads.sourceforge.net/math-atlas/%%7Bname%7D%%7Bversion%7D.tar.bz... Source1: PPRO32.tgz -#Source2: K7323DNow.tgz -Source3: README.dist -#Source4: USII64.tgz -#Source5: USII32.tgz -#Source6: IBMz1032.tgz -#Source7: IBMz1064.tgz -#Source8: IBMz19632.tgz -#Source9: IBMz19664.tgz +Source2: README.dist #archdefs taken from debian: -Source11: POWER332.tar.bz2 -Source12: IBMz932.tar.bz2 -Source13: IBMz964.tar.bz2 +Source3: POWER332.tar.bz2 +Source4: IBMz932.tar.bz2 +Source5: IBMz964.tar.bz2 #upstream arm uses softfp abi, fedora arm uses hard -Source14: ARMv732NEON.tar.bz2 +Source6: ARMv732NEON.tar.bz2 #again, taken from debian -Source15: IBMz1264.tar.bz2 -Source16: ARMa732.tar.bz2 +Source7: IBMz1264.tar.bz2 +Source8: ARMa732.tar.bz2 + +#Provided By IBM +Source9: IBMz1364VXZ.tar.bz2 +Source10: IBMz1464VXZ2.tar.bz2 +Source11: IBMz1564VXZ2.tar.bz2
-Patch2: atlas-fedora-arm.patch # Properly pass -melf_* to the linker with -Wl, fixes FTBFS bug 817552 # https://sourceforge.net/tracker/?func=detail&atid=379484&aid=3555789... -Patch3: atlas-melf.patch -Patch4: atlas-throttling.patch +Patch1: atlas-melf.patch +Patch2: atlas-throttling.patch
#credits Lukas Slebodnik -Patch5: atlas-shared_libraries.patch +Patch3: atlas-shared_libraries.patch
-Patch7: atlas-aarch64port.patch -Patch8: atlas-genparse.patch +Patch4: atlas-genparse.patch
# Unbundle LAPACK (BZ #1181369) -Patch9: atlas.3.10.1-unbundle.patch -Patch10: atlas-gcc10.patch +Patch5: atlas.3.10.1-unbundle.patch +Patch6: atlas-gcc10.patch + + +#patches dealing with z{13,14,15}, provided by IBM +Patch7: 0001-Avoid-c99-standard-compiler.patch +Patch8: 0002-Fix-rpath-link-command-line-options.patch +Patch9: 0003-Fix-SIMD-support-on-IBM-z13.patch +Patch10: 0004-Read-L1-data-cache-size-from-sysconf-if-possible.patch +Patch11: 0005-Optimizations-for-IBM-z13.patch +Patch12: 0006-Add-IBM-z14-support.patch +Patch13: 0007-Enable-cross-compile.patch +Patch14: 0008-Add-IBM-z15-support.patch + +#Covscan +Patch101: atlas-getri.patch
BuildRequires: gcc-gfortran, lapack-static, gcc
@@ -142,8 +152,6 @@ Linear Algebra Software). # %ifarch x86_64 %define types base corei2 -#corei4 -# sse3
%package corei2-static Summary: ATLAS libraries for Corei2 (Ivy/Sandy bridge) CPUs @@ -175,48 +183,79 @@ optimizations for the corei2 (Ivy/Sandy bridge) CPUs. %endif
%ifarch %{ix86} -%define types base -#corei1 - -#%package corei1 -#Summary: ATLAS libraries for Corei1 (Nehalem/Westmere) CPUs -#Group: System Environment/Libraries - -#%description corei1 -#This package contains ATLAS (Automatically Tuned Linear Algebra Software) -#shared libraries compiled with optimizations for the Corei1 (Nehalem/Westmere) CPUs. -#The base ATLAS builds for the ix86 architecture are made for PIII CPUs. - -#%package corei1-devel -#Summary: Development libraries for ATLAS for Corei1 (Nehalem/Westmere) CPUs -#Group: Development/Libraries -#Requires: %{name}-corei1 = %{version}-%{release} -#Obsoletes: %name-header <= %version-%release -#Requires(posttrans): /usr/sbin/alternatives -#Requires(postun): /usr/sbin/alternatives - -#%description corei1-devel -#This package contains shared and static versions of the ATLAS -#(Automatically Tuned Linear Algebra Software) libraries compiled with -#optimizations for the corei1 (Nehalem/Westmere) CPUs. - -#%package corei1-static -#Summary: Static libraries for ATLAS for Corei1 (/Nehalem/Westmere) CPUs -#Group: Development/Libraries -#Requires: %{name}-corei1-devel = %{version}-%{release} -#Requires(posttrans): /usr/sbin/alternatives -#Requires(postun): /usr/sbin/alternatives - -#%description corei1-static -#This package contains the ATLAS (Automatically Tuned Linear Algebra -#Software) static libraries compiled with optimizations for the Corei1 (Nehalem/Westemere) -#CPUs. The base ATLAS builds for the ix86 architecture are made for the PIII CPUs. +%define types base
%endif
%ifarch s390 s390x -%define types base +%define types base z14 z15 + +%package z14 +Summary: ATLAS libraries for z14 +Group: System Environment/Libraries + +%description z14 +This package contains ATLAS (Automatically Tuned Linear Algebra Software) +shared libraries compiled with optimizations for the z14 CPUs. + +%package z14-devel +Summary: Development libraries for ATLAS for z14 +Group: Development/Libraries +Requires: %{name}-z14 = %{version}-%{release} +Obsoletes: %name-header <= %version-%release +Requires(posttrans): chkconfig +Requires(postun): chkconfig + +%description z14-devel +This package contains shared and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the z14 CPUs. + +%package z14-static +Summary: Static libraries for ATLAS for z14 +Group: Development/Libraries +Requires: %{name}-z14-devel = %{version}-%{release} +Requires(posttrans): chkconfig +Requires(postun): chkconfig + +%description z14-static +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) static libraries compiled with optimizations for the z14 +CPUs.
+ +%package z15 +Summary: ATLAS libraries for z15 +Group: System Environment/Libraries + +%description z15 +This package contains ATLAS (Automatically Tuned Linear Algebra Software) +shared libraries compiled with optimizations for the z15 CPUs. + +%package z15-devel +Summary: Development libraries for ATLAS for z15 +Group: Development/Libraries +Requires: %{name}-z15 = %{version}-%{release} +Obsoletes: %name-header <= %version-%release +Requires(posttrans): chkconfig +Requires(postun): chkconfig + +%description z15-devel +This package contains shared and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the z15 CPUs. + +%package z15-static +Summary: Static libraries for ATLAS for z15 +Group: Development/Libraries +Requires: %{name}-z15-devel = %{version}-%{release} +Requires(posttrans): chkconfig +Requires(postun): chkconfig + +%description z15-static +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) static libraries compiled with optimizations for the z15 +CPUs. %endif
@@ -292,42 +331,44 @@ CPUs. The base ATLAS builds for the ppc64 architecture are made for the Power 5 %prep #cat /proc/cpuinfo %setup -q -n ATLAS -#patch0 -p0 -b .shared -#arm patch not applicable, probably not needed -#%ifarch %{arm} -#%patch2 -p0 -b .arm -#%endif -%patch3 -p1 -b .melf -%patch4 -p1 -b .thrott -%patch5 -p2 -b .sharedlib -%ifarch aarch64 -#%patch7 -p1 -b .aarch64 -%endif -%patch8 -p1 -b .genparse -%patch9 -p1 -b .unbundle + + +%patch1 -p1 +%patch2 -p1 +%patch3 -p2 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +%patch7 -p1 +%patch8 -p1 %patch10 -p1
+%ifarch s390x s390 +%patch9 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%endif + +%patch101 -p1 + cp %{SOURCE1} CONFIG/ARCHS/ -#cp %{SOURCE2} CONFIG/ARCHS/ -cp %{SOURCE3} doc +cp %{SOURCE2} doc +cp %{SOURCE3} CONFIG/ARCHS/ +cp %{SOURCE4} CONFIG/ARCHS/ +cp %{SOURCE5} CONFIG/ARCHS/ +cp %{SOURCE6} CONFIG/ARCHS/ +cp %{SOURCE7} CONFIG/ARCHS/ +cp %{SOURCE8} CONFIG/ARCHS/ +cp %{SOURCE9} CONFIG/ARCHS/ +cp %{SOURCE10} CONFIG/ARCHS/ cp %{SOURCE11} CONFIG/ARCHS/ -cp %{SOURCE12} CONFIG/ARCHS/ -cp %{SOURCE13} CONFIG/ARCHS/ -cp %{SOURCE14} CONFIG/ARCHS/ -cp %{SOURCE15} CONFIG/ARCHS/ -cp %{SOURCE16} CONFIG/ARCHS/ -#cp %{SOURCE8} CONFIG/ARCHS/ -#cp %{SOURCE9} CONFIG/ARCHS/
%ifarch %{arm} -# Set arm flags in atlcomp.txt -#sed -i -e 's,-mfpu=vfpv3,-mfpu=neon,' CONFIG/src/atlcomp.txt sed -i -e 's,-mfloat-abi=softfp,-mfloat-abi=hard,' CONFIG/src/atlcomp.txt -# Some extra arm flags not needed -#sed -i -e 's,-mfpu=vfpv3,,' tune/blas/gemm/CASES/*.flg %endif -# Debug -#sed -i -e 's,> (.*)/ptsanity.out,> \1/ptsanity.out || cat \1/ptsanity.out && exit 1,' makes/Make.*
# Generate lapack library mkdir lapacklib @@ -354,9 +395,10 @@ p=$(pwd) %define threads_option "-t 2"
#Target architectures for the 'base' versions -%ifarch s390x +%ifarch s390x %define flags %{nil} %define base_options "-A IBMz12 -V 1" +#%define base_options "-A IBMz13 -V 8 -Si archdef 2" %endif
%ifarch x86_64 @@ -397,14 +439,14 @@ p=$(pwd) %if "%{?enable_native_atlas}" != "0" %define threads_option %{nil} %define base_options %{nil} -%define flags %{nil} +%define flags %{nil} %endif
for type in %{types}; do if [ "$type" = "base" ]; then libname=atlas arg_options=%{base_options} - thread_options=%{threads_option} + thread_options=%{threads_option} %define pr_base %(echo $((%{__isa_bits}+0))) else libname=atlas-${type} @@ -415,12 +457,14 @@ for type in %{types}; do elif [ "$type" = "corei1" ]; then arg_options="-A Corei1 -V 896" %define pr_corei1 %(echo $((%{__isa_bits}+2))) - elif [ "$type" = "z10" ]; then - arg_options="-A IBMz10 -V 1" - %define pr_z10 %(echo $((%{__isa_bits}+2))) - elif [ "$type" = "z196" ]; then - arg_options="-A IBMz196 -V 1" - %define pr_z196 %(echo $((%{__isa_bits}+4))) + elif [ "$type" = "z14" ]; then + thread_options="-t 4" + arg_options="-A IBMz14 -V 4 -Si archdef 2" + %define pr_z14 %(echo $((%{__isa_bits}+2))) + elif [ "$type" = "z15" ]; then + thread_options="-t 4" + arg_options="-A IBMz15 -V 4 -Si archdef 2" + %define pr_z15 %(echo $((%{__isa_bits}+4))) elif [ "$type" = "power7" ]; then thread_options="-t 4" arg_options="-A POWER7 -V 1" @@ -433,10 +477,10 @@ for type in %{types}; do fi mkdir -p %{_arch}_${type} pushd %{_arch}_${type} - ../configure %{mode} $thread_options $arg_options -D c -DWALL -Fa alg '%{flags} -D_FORTIFY_SOURCE=2 -g -Wa,--noexecstack,--generate-missing-build-notes=yes -fstack-protector-strong -fstack-clash-protection -fPIC -fplugin=annobin -Wl,-z,now'\ + ../configure %{mode} $thread_options $arg_options -D c -DWALL -F xc ' ' -Fa alg '%{flags} -D_FORTIFY_SOURCE=2 -g -Wa,--noexecstack,--generate-missing-build-notes=yes -fstack-protector-strong -fstack-clash-protection -fPIC -fplugin=annobin -Wl,-z,now'\ --prefix=%{buildroot}%{_prefix} \ --incdir=%{buildroot}%{_includedir} \ - --libdir=%{buildroot}%{_libdir}/${libname} + --libdir=%{buildroot}%{_libdir}/${libname} #--with-netlib-lapack-tarfile=%{SOURCE10}
#matches both SLAPACK and SSLAPACK @@ -460,7 +504,7 @@ for type in %{types}; do popd done
-%install +%install for type in %{types}; do pushd %{_arch}_${type} make DESTDIR=%{buildroot} install @@ -502,9 +546,14 @@ mkdir -p %{buildroot}%{_includedir}/atlas
%check for type in %{types}; do - pushd %{_arch}_${type} - make check ptcheck - popd + if [ "$type" = "z14" ] || [ "$type" = "z15" ]; then + # skip the tests (may fail due to illegal instructions). + echo "Skipping tests for the $type subpackage" + else + pushd %{_arch}_${type} + make check ptcheck + popd + fi done #%endif
@@ -558,31 +607,31 @@ fi
%ifarch s390 s390x
- #%post -n atlas-z10 -p /sbin/ldconfig + %post -n atlas-z14 -p /sbin/ldconfig
- #%postun -n atlas-z10 -p /sbin/ldconfig + %postun -n atlas-z14 -p /sbin/ldconfig
- #%posttrans z10-devel - # /usr/sbin/alternatives --install %{_includedir}/atlas atlas-inc \ - # %{_includedir}/atlas-%{_arch}-z10 %{pr_z10} + %posttrans z14-devel + /usr/sbin/alternatives --install %{_includedir}/atlas atlas-inc \ + %{_includedir}/atlas-%{_arch}-z14 %{pr_z14}
- #%postun z10-devel - #if [ $1 -ge 0 ] ; then - # /usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-z10 - #fi + %postun z14-devel + if [ $1 -ge 0 ] ; then + /usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-z14 + fi
- #%post -n atlas-z196 -p /sbin/ldconfig + %post -n atlas-z15 -p /sbin/ldconfig
- #%postun -n atlas-z196 -p /sbin/ldconfig + %postun -n atlas-z15 -p /sbin/ldconfig
- #%posttrans z196-devel - # /usr/sbin/alternatives --install %{_includedir}/atlas atlas-inc \ - # %{_includedir}/atlas-%{_arch}-z196 %{pr_z196} + %posttrans z15-devel + /usr/sbin/alternatives --install %{_includedir}/atlas atlas-inc \ + %{_includedir}/atlas-%{_arch}-z15 %{pr_z15}
- #%postun z196-devel - #if [ $1 -ge 0 ] ; then - # /usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-z196 - #fi + %postun z15-devel + if [ $1 -ge 0 ] ; then + /usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-z15 + fi
%endif
@@ -691,11 +740,55 @@ fi %{_libdir}/atlas-power7/*.a %endif
+%ifarch s390 s390x + +%files z14 +%doc doc/README.dist +%dir %{_libdir}/atlas-z14 +%{_libdir}/atlas-z14/*.so.* +%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-z14.conf + +%files z14-devel +%doc doc +%{_libdir}/atlas-z14/*.so +%{_includedir}/atlas-%{_arch}-z14/ +%{_includedir}/*.h +%ghost %{_includedir}/atlas + +%files z14-static +%{_libdir}/atlas-z14/*.a + + +%files z15 +%doc doc/README.dist +%dir %{_libdir}/atlas-z15 +%{_libdir}/atlas-z15/*.so.* +%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-z15.conf + +%files z15-devel +%doc doc +%{_libdir}/atlas-z15/*.so +%{_includedir}/atlas-%{_arch}-z15/ +%{_includedir}/*.h +%ghost %{_includedir}/atlas + +%files z15-static +%{_libdir}/atlas-z15/*.a + +%endif +
#enable_native_atlas if %endif
%changelog +* Thu Aug 27 2020 Jakub Martisko jamartis@redhat.com - 3.10.3.13 +- Sync with rhel 8.3 + cleanup +- Add new subpackages - z{14,15} +- Unlike in rhel8, the base subpackage still needs to be build for z12. +- Covscan related bugfixes +- Spec and git cleanup (remove unused patches/sources) + * Mon Jul 27 2020 Fedora Release Engineering releng@fedoraproject.org - 3.10.3-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
diff --git a/getdoublearr.stripwhite.patch b/getdoublearr.stripwhite.patch deleted file mode 100644 index 86358a1..0000000 --- a/getdoublearr.stripwhite.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up ATLAS/include/atlas_genparse.h.than ATLAS/include/atlas_genparse.h ---- ATLAS/include/atlas_genparse.h.than 2015-11-26 10:53:55.056586198 -0500 -+++ ATLAS/include/atlas_genparse.h 2015-11-26 10:56:00.168537914 -0500 -@@ -149,13 +149,24 @@ static int asmNames2bitfield(char *str) - } - - /* procedure 7 */ --static int GetDoubleArr(char *str, int N, double *d) -+static int GetDoubleArr(char *callerstr, int N, double *d) - /* - * Reads in a list with form "%le,%le...,%le"; N-length d recieves doubles. - * RETURNS: the number of doubles found, or N, whichever is less - */ - { -- int i=1; -+ int i; -+ char *dupstr = DupString(callerstr); -+ char *str = dupstr; -+ /* strip the string to end on first white space */ -+ for (i=0; dupstr[i]; i++) -+ { -+ if (isspace(dupstr[i])) { -+ dupstr[i] = '\0'; -+ break; -+ } -+ } -+ i = 1; - assert(sscanf(str, "%le", d) == 1); - while (i < N) - { -@@ -167,6 +178,7 @@ static int GetDoubleArr(char *str, int N - break; - i++; - } -+ free(dupstr); - return(i); - } - diff --git a/initialize_malloc_memory.invtrsm.wms.oct23.patch b/initialize_malloc_memory.invtrsm.wms.oct23.patch deleted file mode 100644 index 02fa9e4..0000000 --- a/initialize_malloc_memory.invtrsm.wms.oct23.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Michel Normand normand@linux.vnet.ibm.com -Subject: initialize malloc memory.invtrsm.wms.oct23 -Date: Mon, 14 Apr 2014 17:18:53 +0200 -References: http://sourceforge.net/p/math-atlas/mailman/message/32471499/ - -initialize malloc memory invtrsm.c - - -Signed-off-by: Will Schmidt will_schmidt@vnet.ibm.com -Signed-off-by: Michel Normand normand@linux.vnet.ibm.com ---- - ATLAS/tune/blas/level3/invtrsm.c | 1 + - 1 file changed, 1 insertion(+) - -Index: ATLAS/tune/blas/level3/invtrsm.c -=================================================================== ---- ATLAS.orig/tune/blas/level3/invtrsm.c -+++ ATLAS/tune/blas/level3/invtrsm.c -@@ -525,6 +525,7 @@ static double RunTiming - a = A = malloc(i * ATL_MulBySize(incA)); - if (A) - { -+ memset(A,0,i*ATL_MulBySize(incA)); /* wms (!!) malloc call above returns non-initialized memory. */ - if (Uplo == TestGE) - for (i=0; i < k; i++) - Mjoin(PATL,gegen)(N, N, A+i*incA, lda, N+lda); diff --git a/sources b/sources index 6eed107..766db50 100644 --- a/sources +++ b/sources @@ -15,3 +15,6 @@ SHA512 (ARMa732.tar) = 47d6564b5a439bc3778ccc79242220b236c7dc8d36e12ce6850c7e9a0 SHA512 (ARMa732.tar.bz2) = 8b83b59a32f18d2cd432c205efd4358b0000ce1685799f2f38a60532bc925e9cd871371d2dfd226ab8e30e830bf608f022d63bcd26f26f9fe74acab067bd4d4f SHA512 (POWER864LEVSXp4.tar.bz2) = e2fa637061a4a4806bc091009c37ccd719c4c4051baf36ed451917e255375881fa168caa5ca296ae9c89bb28523d9015fda42a5dbc51aef4c66efbf6efd966d2 SHA512 (K7323DNow.tgz) = e1d5e4208ce454b5f5daa68663d2dd28a2bd3cc97496e4e1515df880b9ccd00bcc75bd820402c3b2bf8409f98500e43f2481fbf5dd480f7d0ba60fe2f82a1ac1 +SHA512 (IBMz1364VXZ.tar.bz2) = abcd32e4e92eaee702bb9583179d7019b551c5cdc45733ef683a62627d52d002425f7eb9515c15c700160920a6cda9bdd9586a748e6bea0425958346c341481f +SHA512 (IBMz1464VXZ2.tar.bz2) = 6783ec5658d59f8a1f1270fa9845c5aad3a320b03e7b0bee7e16c0357679118bec0bf99f0ada8815620d2df17ab10c3bd91dff2454dbd4f0e6401de69944317f +SHA512 (IBMz1564VXZ2.tar.bz2) = ff522d80d758c508c71989a189442121e4be2f0309c7c9dcb87174bacef6a3c6caf2debc069311335a9c14930450e84a81f9be171e46f4a0c2da5ae0771a9b1c