diff --git a/SOURCES/atlas-aarch64port.patch b/SOURCES/atlas-aarch64port.patch deleted file mode 100644 index ad06226..0000000 --- a/SOURCES/atlas-aarch64port.patch +++ /dev/null @@ -1,219 +0,0 @@ -Author: Mark Salter - -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 - #include - #include --#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/SOURCES/atlas-fedora-arm.patch b/SOURCES/atlas-fedora-arm.patch deleted file mode 100644 index 22a9889..0000000 --- a/SOURCES/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/SOURCES/atlas-getri.patch b/SOURCES/atlas-getri.patch new file mode 100644 index 0000000..d4659a8 --- /dev/null +++ b/SOURCES/atlas-getri.patch @@ -0,0 +1,12 @@ +diff --git a/src/testing/ATL_f77getri.c b/src/testing/ATL_f77getri.c +index 2cc576c..7ff8eba 100644 +--- a/src/testing/ATL_f77getri.c ++++ b/src/testing/ATL_f77getri.c +@@ -97,7 +97,6 @@ int f77getri(const enum ATLAS_ORDER Order, const int N, TYPE *A, const int lda, + #ifdef ATL_FunkyInts + *lwork = F77lwork; + for (i=0; i < MN; i++) ipiv[i] = F77ipiv[i] + 1; +- free(F77ipiv); + #else + for (i=0; i < MN; i++) ipiv[i]++; + #endif diff --git a/SPECS/atlas.spec b/SPECS/atlas.spec index 56705a3..91d6f0c 100644 --- a/SPECS/atlas.spec +++ b/SPECS/atlas.spec @@ -5,7 +5,7 @@ Version: 3.10.3 %if "%{?enable_native_atlas}" != "0" %define dist .native %endif -Release: 6%{?dist} +Release: 7%{?dist} Summary: Automatically Tuned Linear Algebra Software Group: System Environment/Libraries @@ -15,8 +15,8 @@ Source0: http://downloads.sourceforge.net/math-atlas/%{name}%{version}.ta Source1: PPRO32.tgz #Source2: K7323DNow.tgz Source3: README.dist -#Source4: USII64.tgz -#Source5: USII32.tgz +#Source4: USII64.tgz +#Source5: USII32.tgz #Source6: IBMz1032.tgz #Source7: IBMz1064.tgz #Source8: IBMz19632.tgz @@ -31,7 +31,6 @@ Source14: ARMv732NEON.tar.bz2 Source15: IBMz1264.tar.bz2 Source16: ARMa732.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&group_id=23725 Patch3: atlas-melf.patch @@ -40,12 +39,14 @@ Patch4: atlas-throttling.patch #credits Lukas Slebodnik Patch5: atlas-shared_libraries.patch -Patch7: atlas-aarch64port.patch Patch8: atlas-genparse.patch # Unbundle LAPACK (BZ #1181369) Patch9: atlas.3.10.1-unbundle.patch +# Atlas getri patch (covscan) +Patch10: atlas-getri.patch + BuildRequires: gcc-gfortran, lapack-static, gcc %ifarch x86_64 @@ -370,6 +371,7 @@ CPUs. The base ATLAS builds for the ppc64 architecture are made for the Power 5 %endif %patch8 -p1 -b .genparse %patch9 -p1 -b .unbundle +%patch10 -p1 -b .getri cp %{SOURCE1} CONFIG/ARCHS/ #cp %{SOURCE2} CONFIG/ARCHS/ @@ -820,6 +822,10 @@ fi %endif %changelog +* Mon Jun 10 2019 Jakub Martisko - 3.10.3-7 +* Fix covscan related issues (getri function) +Related: #1602445 + * Mon Dec 17 2018 Jakub Martisko - 3.10.3-6 * Pass all required compiler/linker flags - use annobin plugin