Add sw64 architecture
Signed-off-by: wzx <wuzx1226@qq.com>
This commit is contained in:
parent
ac4efeefac
commit
9538ab058c
172
rpm-Add-sw64-architecture.patch
Normal file
172
rpm-Add-sw64-architecture.patch
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
From 3c8ac8643a0d7c3c3ce972c0a0685d9d1c9de9bc Mon Sep 17 00:00:00 2001
|
||||||
|
From: wzx <wuzx1226@qq.com>
|
||||||
|
Date: Thu, 27 Oct 2022 11:27:23 +0800
|
||||||
|
Subject: [PATCH] Add sw64 architecture
|
||||||
|
|
||||||
|
Add sw64 architecture in file config.guess config.sub installplatform lib/rpmrc.c macros.in rpmrc.in and tools/elfdeps.c to support sw64 architecture.
|
||||||
|
|
||||||
|
Signed-off-by: wzx <wuzx1226@qq.com>
|
||||||
|
---
|
||||||
|
build-aux/config.guess | 8 ++++++++
|
||||||
|
build-aux/config.sub | 1 +
|
||||||
|
installplatform | 6 ++++++
|
||||||
|
lib/rpmrc.c | 7 +++++++
|
||||||
|
macros.in | 1 +
|
||||||
|
rpmrc.in | 15 +++++++++++++++
|
||||||
|
tools/elfdeps.c | 1 +
|
||||||
|
7 files changed, 39 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/build-aux/config.guess b/build-aux/config.guess
|
||||||
|
index b33c9e8..69e3005 100755
|
||||||
|
--- a/build-aux/config.guess
|
||||||
|
+++ b/build-aux/config.guess
|
||||||
|
@@ -913,6 +913,14 @@ EOF
|
||||||
|
UNAME_MACHINE=aarch64_be
|
||||||
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
||||||
|
exit ;;
|
||||||
|
+ sw_64:Linux:*:*)
|
||||||
|
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||||
|
+ sw) UNAME_MACHINE=sw_64 ;;
|
||||||
|
+ esac
|
||||||
|
+ objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||||
|
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
|
||||||
|
+ echo "$UNAME_MACHINE"-sunway-linux-"$LIBC"
|
||||||
|
+ exit ;;
|
||||||
|
alpha:Linux:*:*)
|
||||||
|
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||||
|
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||||
|
diff --git a/build-aux/config.sub b/build-aux/config.sub
|
||||||
|
index b51fb8c..84a8688 100755
|
||||||
|
--- a/build-aux/config.sub
|
||||||
|
+++ b/build-aux/config.sub
|
||||||
|
@@ -1155,6 +1155,7 @@ case $cpu-$vendor in
|
||||||
|
case $cpu in
|
||||||
|
1750a | 580 \
|
||||||
|
| a29k \
|
||||||
|
+ | sw_64 \
|
||||||
|
| aarch64 | aarch64_be \
|
||||||
|
| abacus \
|
||||||
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
|
||||||
|
diff --git a/installplatform b/installplatform
|
||||||
|
index ca490e0..2700199 100755
|
||||||
|
--- a/installplatform
|
||||||
|
+++ b/installplatform
|
||||||
|
@@ -108,6 +108,12 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
|
||||||
|
CANONARCH=arm
|
||||||
|
CANONCOLOR=0
|
||||||
|
;;
|
||||||
|
+ sw_64*)
|
||||||
|
+ ISANAME=sw_64
|
||||||
|
+ ISABITS=64
|
||||||
|
+ CANONARCH=sw_64
|
||||||
|
+ CANONCOLOR=0
|
||||||
|
+ ;;
|
||||||
|
alpha*)
|
||||||
|
ISANAME=alpha
|
||||||
|
ISABITS=64
|
||||||
|
diff --git a/lib/rpmrc.c b/lib/rpmrc.c
|
||||||
|
index 120777c..5d9507d 100644
|
||||||
|
--- a/lib/rpmrc.c
|
||||||
|
+++ b/lib/rpmrc.c
|
||||||
|
@@ -1268,6 +1268,13 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
+# if defined(__GNUC__) && defined(__sw_64__)
|
||||||
|
+ {
|
||||||
|
+ strcpy(un.machine, "sw_64sw6b");
|
||||||
|
+ }
|
||||||
|
+# endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# if defined(__linux__) && defined(__i386__)
|
||||||
|
{
|
||||||
|
char mclass = (char) (RPMClass() | '0');
|
||||||
|
diff --git a/macros.in b/macros.in
|
||||||
|
index 4dbf5b6..6722a74 100644
|
||||||
|
--- a/macros.in
|
||||||
|
+++ b/macros.in
|
||||||
|
@@ -1107,6 +1107,7 @@ package or when debugging this package.\
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# arch macro for all supported Alpha processors
|
||||||
|
%alpha alpha alphaev56 alphaev6 alphaev67
|
||||||
|
+%sw_64 sw_64 sw_64sw6b
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# arch macro for all supported PowerPC 64 processors
|
||||||
|
diff --git a/rpmrc.in b/rpmrc.in
|
||||||
|
index 3a48af4..8d70f91 100644
|
||||||
|
--- a/rpmrc.in
|
||||||
|
+++ b/rpmrc.in
|
||||||
|
@@ -25,6 +25,9 @@ optflags: x86_64 -O2 -g
|
||||||
|
optflags: amd64 -O2 -g
|
||||||
|
optflags: ia32e -O2 -g
|
||||||
|
|
||||||
|
+optflags: sw_64 -O2 -g -mieee
|
||||||
|
+optflags: sw_64sw6b -O2 -g -mieee -mtune=sw6b
|
||||||
|
+
|
||||||
|
optflags: alpha -O2 -g -mieee
|
||||||
|
optflags: alphaev5 -O2 -g -mieee -mtune=ev5
|
||||||
|
optflags: alphaev56 -O2 -g -mieee -mtune=ev56
|
||||||
|
@@ -112,6 +115,7 @@ optflags: riscv64 -O2 -g
|
||||||
|
archcolor: noarch 0
|
||||||
|
archcolor: i386 1
|
||||||
|
archcolor: alpha 2
|
||||||
|
+archcolor: sw_64 2
|
||||||
|
archcolor: sparc 1
|
||||||
|
archcolor: sparc64 2
|
||||||
|
archcolor: sparcv9 2
|
||||||
|
@@ -176,6 +180,9 @@ arch_canon: amd64: amd64 1
|
||||||
|
arch_canon: ia32e: ia32e 1
|
||||||
|
arch_canon: em64t: em64t 1
|
||||||
|
|
||||||
|
+arch_canon: sw_64: sw_64 2
|
||||||
|
+arch_canon: sw_64sw6b: sw_64sw6b 2
|
||||||
|
+
|
||||||
|
arch_canon: alpha: alpha 2
|
||||||
|
arch_canon: alphaev5: alphaev5 2
|
||||||
|
arch_canon: alphaev56: alphaev56 2
|
||||||
|
@@ -315,6 +322,9 @@ buildarchtranslate: i586: i386
|
||||||
|
buildarchtranslate: i486: i386
|
||||||
|
buildarchtranslate: i386: i386
|
||||||
|
|
||||||
|
+buildarchtranslate: sw_64: sw_64
|
||||||
|
+buildarchtranslate: sw_64sw6b: sw_64
|
||||||
|
+
|
||||||
|
buildarchtranslate: alphaev5: alpha
|
||||||
|
buildarchtranslate: alphaev56: alpha
|
||||||
|
buildarchtranslate: alphapca56: alpha
|
||||||
|
@@ -401,6 +411,8 @@ buildarchtranslate: riscv64: riscv64
|
||||||
|
|
||||||
|
#########################################/####################
|
||||||
|
# Architecture compatibility
|
||||||
|
+arch_compat: sw_64sw6b: sw_64
|
||||||
|
+arch_compat: sw_64: axp noarch
|
||||||
|
|
||||||
|
arch_compat: alphaev67: alphaev6
|
||||||
|
arch_compat: alphaev6: alphapca56
|
||||||
|
@@ -570,6 +582,9 @@ buildarch_compat: sparcv9: sparcv8
|
||||||
|
buildarch_compat: sparcv8: sparc
|
||||||
|
buildarch_compat: sparc: noarch
|
||||||
|
|
||||||
|
+buildarch_compat: sw_64sw6b: sw_64
|
||||||
|
+buildarch_compat: sw_64: noarch
|
||||||
|
+
|
||||||
|
buildarch_compat: alphaev67: alphaev6
|
||||||
|
buildarch_compat: alphaev6: alphapca56
|
||||||
|
buildarch_compat: alphapca56: alphaev56
|
||||||
|
diff --git a/tools/elfdeps.c b/tools/elfdeps.c
|
||||||
|
index d205935..590021b 100644
|
||||||
|
--- a/tools/elfdeps.c
|
||||||
|
+++ b/tools/elfdeps.c
|
||||||
|
@@ -85,6 +85,7 @@ static const char *mkmarker(GElf_Ehdr *ehdr)
|
||||||
|
if (ehdr->e_ident[EI_CLASS] == ELFCLASS64) {
|
||||||
|
switch (ehdr->e_machine) {
|
||||||
|
case EM_ALPHA:
|
||||||
|
+ case EM_SW_64:
|
||||||
|
case EM_FAKE_ALPHA:
|
||||||
|
/* alpha doesn't traditionally have 64bit markers */
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
9
rpm.spec
9
rpm.spec
@ -1,6 +1,6 @@
|
|||||||
Name: rpm
|
Name: rpm
|
||||||
Version: 4.17.0
|
Version: 4.17.0
|
||||||
Release: 13
|
Release: 14
|
||||||
Summary: RPM Package Manager
|
Summary: RPM Package Manager
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.rpm.org/
|
URL: http://www.rpm.org/
|
||||||
@ -28,6 +28,7 @@ Patch19: Remove-digest-list-from-the-kernel-during-package-re.patch
|
|||||||
Patch20: Add-license-to-digest_list.c.patch
|
Patch20: Add-license-to-digest_list.c.patch
|
||||||
Patch21: Avoid-generating-digest-lists-if-they-are-already-pa.patch
|
Patch21: Avoid-generating-digest-lists-if-they-are-already-pa.patch
|
||||||
Patch22: dont-remove-ima-xattr-of-parser-when-upgrading.patch
|
Patch22: dont-remove-ima-xattr-of-parser-when-upgrading.patch
|
||||||
|
Patch23: rpm-Add-sw64-architecture.patch
|
||||||
|
|
||||||
Patch6000: backport-Use-root-as-default-UID_0_USER-and-UID_0_GROUP.patch
|
Patch6000: backport-Use-root-as-default-UID_0_USER-and-UID_0_GROUP.patch
|
||||||
Patch6001: backport-Check-file-iterator-for-being-NULL-consistently.patch
|
Patch6001: backport-Check-file-iterator-for-being-NULL-consistently.patch
|
||||||
@ -159,6 +160,9 @@ Obsoletes: apidocs
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{name}-%{version} -p1
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
%ifnarch sw_64
|
||||||
|
%patch23 -R -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
|
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
|
||||||
@ -351,6 +355,9 @@ make check || (cat tests/rpmtests.log; exit 0)
|
|||||||
%{_mandir}/man1/gendiff.1*
|
%{_mandir}/man1/gendiff.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 14 2022 wuzx<wuzx1226@qq.com> - 4.17.0-14
|
||||||
|
- Add sw64 architecture
|
||||||
|
|
||||||
* Tue Nov 01 2022 licunlong<licunlong1@huawei.com> - 4.17.0-13
|
* Tue Nov 01 2022 licunlong<licunlong1@huawei.com> - 4.17.0-13
|
||||||
- sync patches from upstream
|
- sync patches from upstream
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user