summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangwenlong <zhangwenlong@loongson.cn>2022-01-19 00:16:54 +0800
committerGitHub <noreply@github.com>2022-01-18 17:16:54 +0100
commit7a014dae736f9c7a7c75f63deaa4dbbb9ae0249c (patch)
tree41f9c664f2d0faef459c4d8c2c7decf80410fc4d
parent1cdb72ae48b7ba689c5c79118f4f0c1b4ffe6b7c (diff)
downloadrpm-7a014dae736f9c7a7c75f63deaa4dbbb9ae0249c.tar.gz
Add support for loongarch64
* add support for loongarch64 Signed-off-by: Zhang Wenlong <zhangwenlong@loongson.cn>
-rwxr-xr-xinstallplatform6
-rw-r--r--lib/rpmrc.c5
-rw-r--r--macros.in5
-rw-r--r--rpmrc.in14
4 files changed, 30 insertions, 0 deletions
diff --git a/installplatform b/installplatform
index 12339fcfe..439169147 100755
--- a/installplatform
+++ b/installplatform
@@ -180,6 +180,12 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
CANONARCH=riscv64
CANONCOLOR=3
;;
+ loongarch64)
+ ISANAME=loongarch64
+ ISABITS=64
+ CANONARCH=loongarch64
+ CANONCOLOR=3
+ ;;
noarch)
CANONARCH=noarch
CANONCOLOR=0
diff --git a/lib/rpmrc.c b/lib/rpmrc.c
index 120777cf9..6cf24bd40 100644
--- a/lib/rpmrc.c
+++ b/lib/rpmrc.c
@@ -1112,6 +1112,11 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
# endif
# endif
+#if defined(__loongarch64)
+ strcpy(un.machine, "loongarch64");
+#endif
+
+
#if defined(__linux__)
/* in linux, lets rename parisc to hppa */
if (rstreq(un.machine, "parisc"))
diff --git a/macros.in b/macros.in
index 7c458f5d8..e90cefa9a 100644
--- a/macros.in
+++ b/macros.in
@@ -1116,6 +1116,11 @@ package or when debugging this package.\
%riscv128 riscv128
%riscv %{riscv32} %{riscv64} %{riscv128}
+
+#------------------------------------------------------------------------------
+# arch macro for 64-bit LOONGARCH processors
+%loongarch64 loongarch64
+
#------------------------------------------------------------------------
# Use in %install to generate locale specific file lists. For example,
#
diff --git a/rpmrc.in b/rpmrc.in
index 5bd9ba3e5..2975a3a0e 100644
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -104,6 +104,8 @@ optflags: aarch64 -O2 -g
optflags: riscv64 -O2 -g
+optflags: loongarch64 -O2 -g
+
#############################################################
# Architecture colors
@@ -155,6 +157,9 @@ archcolor: aarch64 2
archcolor: riscv64 2
+
+archcolor: loongarch64 2
+
#############################################################
# Canonical arch names and numbers
@@ -257,6 +262,8 @@ arch_canon: mips64r6el: mips64r6el 21
arch_canon: riscv: riscv64 22
arch_canon: riscv64: riscv64 22
+arch_canon: loongarch64: loongarch64 23
+
#############################################################
# Canonical OS names and numbers
@@ -388,6 +395,8 @@ buildarchtranslate: aarch64: aarch64
buildarchtranslate: riscv: riscv64
buildarchtranslate: riscv64: riscv64
+buildarchtranslate: loongarch64: loongarch64
+
#############################################################
# Architecture compatibility
@@ -528,6 +537,8 @@ os_compat: bsdi4.0: bsdi
os_compat: Darwin: MacOSX
+arch_compat: loongarch64: noarch
+
buildarch_compat: ia64: noarch
buildarch_compat: aarch64: noarch
@@ -632,5 +643,8 @@ buildarch_compat: sh3: noarch
buildarch_compat: sh4: noarch
buildarch_compat: sh4a: sh4
+
+buildarch_compat: loongarch64: noarch
+
# \endverbatim
#*/