diff --git a/rpm-Add-sw64-architecture.patch b/rpm-Add-sw64-architecture.patch index e4e9fb0a44c05f989e493c18a5b74e1c4cd2042a..08912f98c1ceffc0bf805fab4498b061b4b5a3ee 100644 --- a/rpm-Add-sw64-architecture.patch +++ b/rpm-Add-sw64-architecture.patch @@ -59,7 +59,7 @@ index ca490e0..2700199 100755 + ISANAME=sw_64 + ISABITS=64 + CANONARCH=sw_64 -+ CANONCOLOR=0 ++ CANONCOLOR=3 + ;; alpha*) ISANAME=alpha @@ -68,15 +68,24 @@ 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) +@@ -1268,6 +1268,22 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) } # endif -+# if defined(__GNUC__) && defined(__sw_64__) -+ { ++# if defined(__linux__) && defined(__sw_64__) ++ if (rstreq(un.machine, "sw_64")) { ++ /* TODO: There is no quick way to get cpu info dynamicly ++ * in user model, except read '/proc/cpuinfo'. Maybe ++ * we should add a linux syscall to do it. */ ++# if defined(__sw_64_sw6b__) + strcpy(un.machine, "sw_64sw6b"); -+ } ++# elif defined(__sw_64_sw8a__) ++ strcpy(un.machine, "sw_64sw8a"); ++# else ++ strcpy(un.machine, "sw_64"); +# endif ++ } ++# endif /* sunway */ + + # if defined(__linux__) && defined(__i386__) @@ -90,7 +99,7 @@ index 4dbf5b6..6722a74 100644 #------------------------------------------------------------------------------ # arch macro for all supported Alpha processors %alpha alpha alphaev56 alphaev6 alphaev67 -+%sw_64 sw_64 sw_64sw6b ++%sw_64 sw_64 sw_64sw6b sw_64sw8a #------------------------------------------------------------------------------ # arch macro for all supported PowerPC 64 processors @@ -98,12 +107,13 @@ 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 +@@ -25,6 +25,10 @@ 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: sw_64sw8a -O2 -g -mieee -mtune=sw8a + optflags: alpha -O2 -g -mieee optflags: alphaev5 -O2 -g -mieee -mtune=ev5 @@ -116,41 +126,45 @@ index 3a48af4..8d70f91 100644 archcolor: sparc 1 archcolor: sparc64 2 archcolor: sparcv9 2 -@@ -176,6 +180,9 @@ arch_canon: amd64: amd64 1 +@@ -176,6 +180,10 @@ 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: sw_64: sw_64 25 ++arch_canon: sw_64sw6b: sw_64sw6b 25 ++arch_canon: sw_64sw8a: sw_64sw8a 25 + arch_canon: alpha: alpha 2 arch_canon: alphaev5: alphaev5 2 arch_canon: alphaev56: alphaev56 2 -@@ -315,6 +322,9 @@ buildarchtranslate: i586: i386 +@@ -315,6 +322,10 @@ buildarchtranslate: i586: i386 buildarchtranslate: i486: i386 buildarchtranslate: i386: i386 +buildarchtranslate: sw_64: sw_64 +buildarchtranslate: sw_64sw6b: sw_64 ++buildarchtranslate: sw_64sw8a: sw_64 + buildarchtranslate: alphaev5: alpha buildarchtranslate: alphaev56: alpha buildarchtranslate: alphapca56: alpha -@@ -401,6 +411,8 @@ buildarchtranslate: riscv64: riscv64 +@@ -401,6 +411,9 @@ buildarchtranslate: riscv64: riscv64 #########################################/#################### # Architecture compatibility -+arch_compat: sw_64sw6b: sw_64 -+arch_compat: sw_64: axp noarch ++arch_compat: sw_64: noarch ++arch_compat: sw_64sw6b: sw_64 noarch ++arch_compat: sw_64sw8a: sw_64 noarch arch_compat: alphaev67: alphaev6 arch_compat: alphaev6: alphapca56 -@@ -570,6 +582,9 @@ buildarch_compat: sparcv9: sparcv8 +@@ -570,6 +582,10 @@ 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: sw_64sw6b: sw_64 noarch ++buildarch_compat: sw_64sw8a: sw_64 noarch + buildarch_compat: alphaev67: alphaev6 buildarch_compat: alphaev6: alphapca56 diff --git a/rpm.spec b/rpm.spec index 4d516bdce6716230dc15a7a24a70aded2b4972b1..9e7a6702fd9961736daab7690df7862c31529c90 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,6 +1,6 @@ Name: rpm Version: 4.18.2 -Release: 25 +Release: 26 Summary: RPM Package Manager License: GPL-2.0-or-later URL: https://rpm.org/ @@ -352,6 +352,9 @@ make clean %exclude %{_mandir}/man8/rpmspec.8* %changelog +* Wed Sep 10 2025 hugel - 4.18.2-26 +- Update sw64 patch. + * Thu Aug 14 2025 fuanan - 4.18.2-25 - sync patches from upstream