diff --git a/10013-systemd-Add-sw64.patch b/10013-systemd-Add-sw64.patch new file mode 100644 index 0000000000000000000000000000000000000000..f1e0e6aab5532bbf8a19d205679173c9b62dbfcf --- /dev/null +++ b/10013-systemd-Add-sw64.patch @@ -0,0 +1,94 @@ +From 1d1259c0bada01ed92d991b44be1f53042837187 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Fri, 12 May 2023 15:33:42 +0800 +Subject: [PATCH] Add sw64 architecture + +Signed-off-by: rpm-build +--- + src/basic/architecture.c | 3 +++ + src/basic/architecture.h | 4 ++++ + src/basic/missing.h | 2 +- + src/basic/missing_syscall.h | 4 +++- + 4 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/basic/architecture.c b/src/basic/architecture.c +index 96bbf97..72b98a3 100644 +--- a/src/basic/architecture.c ++++ b/src/basic/architecture.c +@@ -120,6 +120,8 @@ int uname_architecture(void) { + { "arceb", ARCHITECTURE_ARC_BE }, + #elif defined(__loongarch64) + { "loongarch64", ARCHITECTURE_LOONGARCH64 }, ++#elif defined(__sw_64__) ++ { "sw_64" , ARCHITECTURE_SW_64 }, + #else + #error "Please register your architecture here!" + #endif +@@ -176,6 +178,7 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { + [ARCHITECTURE_ARC] = "arc", + [ARCHITECTURE_ARC_BE] = "arc-be", + [ARCHITECTURE_LOONGARCH64] = "loongarch64", ++ [ARCHITECTURE_SW_64] = "sw_64", + }; + + DEFINE_STRING_TABLE_LOOKUP(architecture, int); +diff --git a/src/basic/architecture.h b/src/basic/architecture.h +index 22e9108..c317c75 100644 +--- a/src/basic/architecture.h ++++ b/src/basic/architecture.h +@@ -45,6 +45,7 @@ enum { + ARCHITECTURE_ARC, + ARCHITECTURE_ARC_BE, + ARCHITECTURE_LOONGARCH64, ++ ARCHITECTURE_SW_64, + _ARCHITECTURE_MAX, + _ARCHITECTURE_INVALID = -1 + }; +@@ -233,6 +234,9 @@ int uname_architecture(void); + #elif defined(__loongarch64) + # define native_architecture() ARCHITECTURE_LOONGARCH64 + # define LIB_ARCH_TUPLE "loongarch64-linux-gnu" ++#elif defined(__sw_64__) ++# define native_architecture() ARCHITECTURE_SW_64 ++# define LIB_ARCH_TUPLE "sw_64-linux-gnu" + #else + # error "Please register your architecture here!" + #endif +diff --git a/src/basic/missing.h b/src/basic/missing.h +index b937661..c2913b5 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -646,7 +646,7 @@ struct input_mask { + */ + + #ifndef __O_TMPFILE +-#if defined(__alpha__) ++#if defined(__alpha__) || defined(__sw_64__) + #define __O_TMPFILE 0100000000 + #elif defined(__parisc__) || defined(__hppa__) + #define __O_TMPFILE 0400000000 +diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h +index 014dd2b..3acf59f 100644 +--- a/src/basic/missing_syscall.h ++++ b/src/basic/missing_syscall.h +@@ -182,7 +182,7 @@ static inline int missing_setns(int fd, int nstype) { + /* ======================================================================= */ + + static inline pid_t raw_getpid(void) { +-#if defined(__alpha__) ++#if defined(__alpha__) || defined(__sw_64__) + return (pid_t) syscall(__NR_getxpid); + #else + return (pid_t) syscall(__NR_getpid); +@@ -405,6 +405,8 @@ static inline int missing_bpf(int cmd, union bpf_attr *attr, size_t size) { + # define __NR_statx 360 + # elif defined __x86_64__ + # define __NR_statx 332 ++# elif defined __sw_64__ ++# define __NR_statx 518 + # else + # warning "__NR_statx not defined for your architecture" + # endif +-- +2.31.1 + diff --git a/systemd.spec b/systemd.spec index 4e8faeec78969495b6aee430dc3c415099bf1b4d..bd6fc102e10a0d4d64c49ac8fba5ca1a2dbc0c95 100644 --- a/systemd.spec +++ b/systemd.spec @@ -1,4 +1,4 @@ -%define anolis_release .0.2 +%define anolis_release .0.3 #global gitcommit 10e465b5321bd53c1fc59ffab27e724535c6bc0f %{?gitcommit:%global gitcommitshort %(c=%{gitcommit}; echo ${c:0:7})} @@ -898,6 +898,7 @@ Patch10009: 10009-systemd-anolis-support-loongarch64.patch Patch10010: 10010-test-catalog-Fix-coredump-when-compiled-under-GCC10.patch Patch10011: 10011-hwdb-add-Iluvatar-CoreX.patch Patch10012: 10012-seccomp-add-loongarch-support.patch +Patch10013: 10013-systemd-Add-sw64.patch %ifarch %{ix86} x86_64 aarch64 %global have_gnu_efi 1 @@ -1527,6 +1528,9 @@ fi %files tests -f .file-list-tests %changelog +* Fri May 12 2023 wxiat - 239-68.0.3.1 +- add sw patch + * Mon Mar 06 2023 yuanhui - 239-68.0.2.1 - umount: check LO_FLAGS_AUTOCLEAR after LOOP_CLR_FD claimed success