!178 添加sw架构
From: @wuzx065891 Reviewed-by: @overweight Signed-off-by: @overweight
This commit is contained in:
commit
7c645408cd
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
|
||||
Version: 4.17.0
|
||||
Release: 13
|
||||
Release: 14
|
||||
Summary: RPM Package Manager
|
||||
License: GPLv2+
|
||||
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
|
||||
Patch21: Avoid-generating-digest-lists-if-they-are-already-pa.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
|
||||
Patch6001: backport-Check-file-iterator-for-being-NULL-consistently.patch
|
||||
@ -159,6 +160,9 @@ Obsoletes: apidocs
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
%ifnarch sw_64
|
||||
%patch23 -R -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
|
||||
@ -351,6 +355,9 @@ make check || (cat tests/rpmtests.log; exit 0)
|
||||
%{_mandir}/man1/gendiff.1*
|
||||
|
||||
%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
|
||||
- sync patches from upstream
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user