From fb0750541133eb068b21de31cfbea4bd867a4ab2 Mon Sep 17 00:00:00 2001 From: Frantisek Kluknavsky Date: Sep 20 2013 11:37:24 +0000 Subject: Rebase to 3.10.1 --- diff --git a/atlas-arm_m32_flag.patch b/atlas-arm_m32_flag.patch deleted file mode 100644 index 6bd2d68..0000000 --- a/atlas-arm_m32_flag.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up wrk/CONFIG/src/probe_comp.c.wrk wrk/CONFIG/src/probe_comp.c ---- wrk/CONFIG/src/probe_comp.c.wrk 2013-09-17 12:53:26.863023304 +0200 -+++ wrk/CONFIG/src/probe_comp.c 2013-09-17 15:39:22.967912120 +0200 -@@ -1059,8 +1059,10 @@ void GetComps(enum OSTYPE OS, enum MACHT - * If ptrbits is set to manual override, add -m32/64 to gnu compilers - * but not on Itaniums or Apple's munged gcc 3 compiler! - */ -- if (ptrbits && arch != IA64Itan && arch != IA64Itan2) -+ printf("TU SOOOOOOOOOOOM vonku\n"); -+ if (ptrbits && arch != IA64Itan && arch != IA64Itan2 && arch != ARMv7) - { -+ printf("TU SOOOOOOOOOOOM\n"); - for (i=0; i < NCOMP; i++) - { - sp = GetPtrbitsFlag(OS, arch, ptrbits, usrcomps[i]); -diff -up wrk/CONFIG/src/SpewMakeInc.c.wrk wrk/CONFIG/src/SpewMakeInc.c ---- wrk/CONFIG/src/SpewMakeInc.c.wrk 2013-09-17 15:51:55.991929088 +0200 -+++ wrk/CONFIG/src/SpewMakeInc.c 2013-09-17 15:52:01.738952113 +0200 -@@ -386,6 +386,7 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu - * RETURNS: string forcing setting of ptrbits for gcc - */ - { -+ printf("XXXXXX\n"); - char *sp = ""; - int i, j, k; - diff --git a/atlas-melf.patch b/atlas-melf.patch index 52feec7..a4fb926 100644 --- a/atlas-melf.patch +++ b/atlas-melf.patch @@ -1,15 +1,16 @@ -diff -up ATLAS/CONFIG/src/SpewMakeInc.c.melf ATLAS/CONFIG/src/SpewMakeInc.c ---- ATLAS/CONFIG/src/SpewMakeInc.c.melf 2011-05-14 11:33:24.000000000 -0600 -+++ ATLAS/CONFIG/src/SpewMakeInc.c 2012-08-09 10:52:28.051926489 -0600 -@@ -665,9 +665,9 @@ main(int nargs, char **args) - if (MachIsX86(mach)) - { - if (ptrbits == 32) -- fprintf(fpout, " -melf_i386"); -+ fprintf(fpout, " -Wl,-melf_i386"); - else if (ptrbits == 64) -- fprintf(fpout, " -melf_x86_64"); -+ fprintf(fpout, " -Wl,-melf_x86_64"); - if (OS == OSFreeBSD) - fprintf(fpout, "_fbsd"); - } +diff --git a/CONFIG/src/SpewMakeInc.c b/CONFIG/src/SpewMakeInc.c +index eed259e..65d68a1 100644 +--- a/CONFIG/src/SpewMakeInc.c ++++ b/CONFIG/src/SpewMakeInc.c +@@ -764,9 +764,9 @@ int main(int nargs, char **args) + else + { + if (ptrbits == 32) +- fprintf(fpout, " -melf_i386"); ++ fprintf(fpout, " -Wl,-melf_i386"); + else if (ptrbits == 64) +- fprintf(fpout, " -melf_x86_64"); ++ fprintf(fpout, " -Wl,-melf_x86_64"); + if (OS == OSFreeBSD) + fprintf(fpout, "_fbsd"); + } diff --git a/atlas-shared_libraries_ls.patch b/atlas-shared_libraries_ls.patch new file mode 100644 index 0000000..d179dff --- /dev/null +++ b/atlas-shared_libraries_ls.patch @@ -0,0 +1,40 @@ +From 3119c671c566761a79ac98405cb619892acde3e8 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Fri, 20 Sep 2013 09:26:58 +0200 +Subject: [PATCH] atlas-shared_libraries + +--- + ATLAS/makes/Make.lib | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/ATLAS/makes/Make.lib b/ATLAS/makes/Make.lib +index ab1eb9963d36678972a0a410905169aaa563dc64..27c6e316b442e09b0f46afac7940aaa11e25e45c 100644 +--- a/ATLAS/makes/Make.lib ++++ b/ATLAS/makes/Make.lib +@@ -4,6 +4,8 @@ mySRCdir = $(SRCdir)/lib + # + # override with libatlas.so only when atlas is built to one lib + # ++so_ver_major=3 ++so_ver = $(so_ver_major).10 + 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 +@@ -116,9 +118,12 @@ LDTRY: + -rpath-link $(LIBINSTdir) \ + --whole-archive $(libas) --no-whole-archive $(LIBS) + GCCTRY: +- $(GOODGCC) -shared -o $(outso) \ +- -Wl,"rpath-link $(LIBINSTdir)" \ ++ $(GOODGCC) -shared -o $(outso).$(so_ver) \ ++ \ ++ -Wl,-soname,"$(outso).$(so_ver_major)" \ + -Wl,--whole-archive $(libas) -Wl,--no-whole-archive $(LIBS) ++ ln -s $(outso).$(so_ver) $(outso).$(so_ver_major) ++ ln -s $(outso).$(so_ver) $(outso) + GCCTRY_norp: + $(GOODGCC) -shared -o $(outso) \ + -Wl,--whole-archive $(libas) -Wl,--no-whole-archive $(LIBS) +-- +1.8.3.1 + diff --git a/atlas.spec b/atlas.spec index 9b15f88..93e7147 100644 --- a/atlas.spec +++ b/atlas.spec @@ -26,20 +26,39 @@ Source10: lapack-3.4.2-clean.tgz Source11: POWER332.tar.bz2 Source12: IBMz932.tar.bz2 Source13: IBMz964.tar.bz2 +#upstream arm uses softfp abi, fedora arm uses hard +Source14: ARMv732NEON.tar.bz2 #Patch0: atlas-fedora_shared.patch Patch1: atlas-s390port.patch 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 +Patch3: atlas-melf.patch Patch4: atlas-throttling.patch -Patch5: atlas-build-id.patch -Patch6: atlas-arm_m32_flag.patch + +#credits Lukas Slebodnik +Patch5: atlas-shared_libraries_ls.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-gfortran +%ifarch x86_64 +Obsoletes: atlas-sse3 < 3.10 +%endif + +%ifarch %{ix86} +Obsoletes: atlas-3dnow < 3.10 +Obsoletes: atlas-sse < 3.10 +%endif + +%ifarch s390 s390x +Obsoletes: atlas-z10 < 3.10 +Obsoletes: atlas-z196 < 3.10 +%endif + + %description The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in @@ -263,11 +282,14 @@ ix86 architecture. %endif %ifarch %{arm} -%define arch_option -A 38 +#beware - arch constant can change between releases +%define arch_option -A 46 %define threads_option -t 2 +%global armflags -mfpu=neon -mfloat-abi=hard %global mode %{nil} %else %global mode -b %{__isa_bits} +%global armflags %{nil} %endif %prep @@ -282,22 +304,21 @@ ix86 architecture. #%ifarch %{arm} #%patch2 -p0 -b .arm #%endif -#patch3 -p1 -b .melf +%patch3 -p1 -b .melf %patch4 -p1 -b .thrott -%patch5 -p1 -b .buildid -%patch6 -p1 -b .m32 +%patch5 -p2 -b .sharedlib +#%patch6 -p1 -b .m32 cp %{SOURCE1} CONFIG/ARCHS/ #cp %{SOURCE2} CONFIG/ARCHS/ cp %{SOURCE3} doc cp %{SOURCE11} CONFIG/ARCHS/ cp %{SOURCE12} CONFIG/ARCHS/ cp %{SOURCE13} CONFIG/ARCHS/ -#cp %{SOURCE7} CONFIG/ARCHS/ +cp %{SOURCE14} CONFIG/ARCHS/ #cp %{SOURCE8} CONFIG/ARCHS/ #cp %{SOURCE9} CONFIG/ARCHS/ %build - for type in %{types}; do if [ "$type" = "base" ]; then libname=atlas @@ -308,7 +329,7 @@ for type in %{types}; do mkdir -p %{_arch}_${type} pushd %{_arch}_${type} - ../configure %{mode} %{?threads_option} %{?arch_option} -D c -DWALL -Fa alg '-g -Wa,--noexecstack -fPIC'\ + ../configure %{mode} %{?threads_option} %{?arch_option} -D c -DWALL -Fa alg '%{armflags} -g -Wa,--noexecstack -fPIC'\ --prefix=%{buildroot}%{_prefix} \ --incdir=%{buildroot}%{_includedir} \ --libdir=%{buildroot}%{_libdir}/${libname} \ @@ -432,11 +453,16 @@ for type in %{types}; do cd lib make shared make ptshared - find ./ -maxdepth 1 -iname '*.so' | while read f; do - mv "$f" "$f".3.0 - ln -s "$f".3.0 "$f".3 - ln -s "$f".3.0 "$f" - done +# ln -s libtatlas.so.3.10 libtatlas.so +# ln -s libtatlas.so.3.10 libtatlas.so.3 +# ln -s libsatlas.so.3.10 libsatlas.so +# ln -s libsatlas.so.3.10 libsatlas.so.3 + +# find ./ -maxdepth 1 -iname '*.so' | while read f; do +# mv "$f" "$f".3.0 +# ln -s "$f".3.0 "$f".3 +# ln -s "$f".3.0 "$f" +# done popd done