[atlas/f20] support for aarch64

Frantisek Kluknavsky fkluknav at fedoraproject.org
Wed Nov 6 09:29:27 UTC 2013


commit 215b30137059a5dcc64b73f323fd4f6f2cb29727
Author: Frantisek Kluknavsky <fkluknav at redhat.com>
Date:   Wed Nov 6 10:29:37 2013 +0100

    support for aarch64

 atlas-aarch64.patch |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 atlas.spec          |   11 +++++++++--
 2 files changed, 59 insertions(+), 2 deletions(-)
---
diff --git a/atlas-aarch64.patch b/atlas-aarch64.patch
new file mode 100644
index 0000000..940dfae
--- /dev/null
+++ b/atlas-aarch64.patch
@@ -0,0 +1,50 @@
+--- 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", "AARCH64"};
+ 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 */
++	       AARCH64
+                };
+ #define MachIsX86(mach_) \
+    ( (mach_) >= IntP5 && (mach_) <= x86X )
+@@ -51,6 +52,8 @@
+ #endif
+ #define MachIsPPC(mach_) \
+    ( (mach_) >= PPCG4 && (mach_) <= PPCG5 )
++#define MachIsAARCH64(mach_) \
++   ( (mach_) == AARCH64 )
+ 
+ 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 (MachIsAARCH64(arch))
++      return(sp);
+    if (MachIsMIPS(arch))
+       return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32");
+    if (!CompIsGcc(comp))
diff --git a/atlas.spec b/atlas.spec
index 5a4976b..b74fab7 100644
--- a/atlas.spec
+++ b/atlas.spec
@@ -5,7 +5,7 @@ Version:        3.8.4
 %if "%{?enable_native_atlas}" != "0"
 %define dist .native
 %endif
-Release:        9%{?dist}
+Release:        10%{?dist}
 Summary:        Automatically Tuned Linear Algebra Software
 
 Group:          System Environment/Libraries
@@ -27,6 +27,7 @@ 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
+Patch4:		atlas-aarch64.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  gcc-gfortran lapack-static
@@ -236,7 +237,7 @@ optimizations for the z10 architecture.
 %endif
 
 %global mode %{__isa_bits}
-%ifarch %{arm}
+%ifarch %{arm} aarch64
 %define arch_option -A 38
 %define threads_option -t 2
 %global mode ' '
@@ -252,6 +253,9 @@ optimizations for the z10 architecture.
 %patch2 -p0 -b .arm
 %endif
 %patch3 -p1 -b .melf
+%ifarch %{aarch64}
+%patch4 -p0 -b .aarch64
+%endif
 cp %{SOURCE1} CONFIG/ARCHS/
 cp %{SOURCE2} CONFIG/ARCHS/
 cp %{SOURCE3} doc
@@ -667,6 +671,9 @@ fi
 %endif
 
 %changelog
+* Wed Nov 06 2013 Frantisek Kluknavsky <fkluknav at redhat.com> - 3.8.4-10
+- support for aarch64
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.8.4-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list