[Rpm-maint] AArch64 support
Mark Salter
msalter at redhat.com
Tue Jan 29 20:36:39 UTC 2013
Here is a patch which adds support for AArch64 architecture. This is
just basic support and further support (i.e. auxv parsing) may be desired.
It is pretty straightforward except for the hunk in installplatform which
sets LIB=${LIB}64. The existing test does this for linux and CANONCOLOR 3.
Aarch64 is CANONCOLOR 2, but still wants to use lib64 for the libdir.
--Mark
>From 66fadf52448be1131d793362b60378e38d1724f1 Mon Sep 17 00:00:00 2001
From: Mark Salter <msalter at redhat.com>
Date: Tue, 29 Jan 2013 14:41:48 -0500
Subject: [PATCH] Add basic support for aarch64 architecture
Signed-off-by: Mark Salter <msalter at redhat.com>
---
installplatform | 8 +++++++-
macros.in | 4 ++++
rpmrc.in | 9 +++++++++
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/installplatform b/installplatform
index a68b3c0..9aa9875 100755
--- a/installplatform
+++ b/installplatform
@@ -101,6 +101,12 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
CANONARCH=alpha
CANONCOLOR=0
;;
+ aarch64)
+ ISANAME=aarch
+ ISABITS=64
+ CANONARCH=aarch64
+ CANONCOLOR=2
+ ;;
noarch)
CANONARCH=noarch
CANONCOLOR=0
@@ -111,7 +117,7 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
# skip architectures for which we dont have full config parameters
[ -z "$CANONARCH" ] && continue
- if [ "$OS" = "linux" ] && [ "$CANONCOLOR" = 3 ]; then
+ if [ "$OS" = "linux" ] && [ "$CANONCOLOR" = 3 ] || [ "$ISANAME" = "aarch" ]; then
LIB=${LIB}64
fi
diff --git a/macros.in b/macros.in
index 11f30be..fc33ebd 100644
--- a/macros.in
+++ b/macros.in
@@ -991,6 +991,10 @@ done \
%arm armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv7l
#------------------------------------------------------------------------------
+# arch macro for aarch64
+%aarch64 aarch64
+
+#------------------------------------------------------------------------------
# arch macro for all supported Sparc processors
%sparc sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v
diff --git a/rpmrc.in b/rpmrc.in
index 5b23db1..97651f2 100644
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -83,6 +83,8 @@ optflags: sh3 -O2 -g
optflags: sh4 -O2 -g -mieee
optflags: sh4a -O2 -g -mieee
+optflags: aarch64 -O2 -g
+
#############################################################
# Architecture colors
@@ -199,6 +201,7 @@ arch_canon: sh3: sh3 17
arch_canon: sh4: sh4 17
arch_canon: sh4a: sh4a 17
arch_canon: xtensa: xtensa 18
+arch_canon: aarch64: aarch64 19
#############################################################
# Canonical OS names and numbers
@@ -307,6 +310,8 @@ buildarchtranslate: sh3: sh3
buildarchtranslate: sh4: sh4
buildarchtranslate: sh4a: sh4
+buildarchtranslate: aarch64: aarch64
+
#############################################################
# Architecture compatibility
@@ -397,6 +402,8 @@ arch_compat: sh3: noarch
arch_compat: sh4: noarch
arch_compat: sh4a: sh4
+arch_compat: aarch64: noarch
+
os_compat: IRIX64: IRIX
os_compat: solaris2.7: solaris2.3 solaris2.4 solaris2.5 solaris2.6
os_compat: solaris2.6: solaris2.3 solaris2.4 solaris2.5
@@ -428,6 +435,8 @@ os_compat: Darwin: MacOSX
buildarch_compat: ia64: noarch
+buildarch_compat: aarch64: noarch
+
buildarch_compat: athlon: i686
buildarch_compat: geode: i586
buildarch_compat: pentium4: pentium3
--
1.8.1
More information about the Rpm-maint
mailing list