From 07b805550e7e00c34ec1ef3f932ad6bca79480a9 Mon Sep 17 00:00:00 2001 From: wzx Date: Wed, 9 Nov 2022 15:14:55 +0800 Subject: [PATCH] Add sw64 architecture Signed-off-by: wzx (cherry picked from commit 93e50a70951a1fe294b4718242295fb3d4d22f97) --- 0007-libaio-Add-sw64-architecture.patch | 138 ++++++++++++++++++++++++ libaio.spec | 9 +- 2 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 0007-libaio-Add-sw64-architecture.patch diff --git a/0007-libaio-Add-sw64-architecture.patch b/0007-libaio-Add-sw64-architecture.patch new file mode 100644 index 0000000..7de53ea --- /dev/null +++ b/0007-libaio-Add-sw64-architecture.patch @@ -0,0 +1,138 @@ +From 9f996eb3419e32f7408b14d49421ef9058ff17cf Mon Sep 17 00:00:00 2001 +From: wzx +Date: Mon, 7 Nov 2022 15:13:35 +0800 +Subject: [PATCH] Add sw64 architecture + +Add sw64 architecture in file harness/cases/16.t setup-libaio-0.3.113/harness/cases/16.t setup-libaio-0.3.113/src/libaio.h setup-libaio-0.3.113/src/syscall-sw_64.h setup-libaio-0.3.113/src/syscall.h src/libaio.h src/libaio.h.arm64-ilp32 src/syscall-sw_64.h src/syscall.h to support sw64 architecture. + +Signed-off-by: wzx +--- + harness/cases/16.t | 2 ++ + setup-libaio-0.3.113/harness/cases/16.t | 2 ++ + setup-libaio-0.3.113/src/libaio.h | 2 +- + setup-libaio-0.3.113/src/syscall-sw_64.h | 5 +++++ + setup-libaio-0.3.113/src/syscall.h | 2 ++ + src/libaio.h | 2 +- + src/libaio.h.arm64-ilp32 | 2 +- + src/syscall-sw_64.h | 5 +++++ + src/syscall.h | 2 ++ + 9 files changed, 21 insertions(+), 3 deletions(-) + create mode 100644 setup-libaio-0.3.113/src/syscall-sw_64.h + create mode 100644 src/syscall-sw_64.h + +diff --git a/harness/cases/16.t b/harness/cases/16.t +index 4d24b04..9e8684a 100644 +--- a/harness/cases/16.t ++++ b/harness/cases/16.t +@@ -16,6 +16,8 @@ + #define SYS_eventfd 307 + #elif defined(__s390__) + #define SYS_eventfd 318 ++#elif defined(__sw_64__) ++#define SYS_eventfd 478 + #elif defined(__alpha__) + #define SYS_eventfd 478 + #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv) +diff --git a/setup-libaio-0.3.113/harness/cases/16.t b/setup-libaio-0.3.113/harness/cases/16.t +index 4d24b04..9e8684a 100644 +--- a/setup-libaio-0.3.113/harness/cases/16.t ++++ b/setup-libaio-0.3.113/harness/cases/16.t +@@ -16,6 +16,8 @@ + #define SYS_eventfd 307 + #elif defined(__s390__) + #define SYS_eventfd 318 ++#elif defined(__sw_64__) ++#define SYS_eventfd 478 + #elif defined(__alpha__) + #define SYS_eventfd 478 + #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv) +diff --git a/setup-libaio-0.3.113/src/libaio.h b/setup-libaio-0.3.113/src/libaio.h +index 24b4b8a..24a1a28 100644 +--- a/setup-libaio-0.3.113/src/libaio.h ++++ b/setup-libaio-0.3.113/src/libaio.h +@@ -62,7 +62,7 @@ typedef enum io_iocb_cmd { + #define PADDEDul(x, y) unsigned long x; unsigned y + + /* little endian, 64 bits */ +-#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ ++#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || defined(__sw_64__) || \ + (defined(__aarch64__) && defined(__AARCH64EL__)) || \ + defined(__loongarch64) || \ + (defined(__riscv) && __riscv_xlen == 64) || \ +diff --git a/setup-libaio-0.3.113/src/syscall-sw_64.h b/setup-libaio-0.3.113/src/syscall-sw_64.h +new file mode 100644 +index 0000000..0aa4d3d +--- /dev/null ++++ b/setup-libaio-0.3.113/src/syscall-sw_64.h +@@ -0,0 +1,5 @@ ++#define __NR_io_setup 398 ++#define __NR_io_destroy 399 ++#define __NR_io_getevents 400 ++#define __NR_io_submit 401 ++#define __NR_io_cancel 402 +diff --git a/setup-libaio-0.3.113/src/syscall.h b/setup-libaio-0.3.113/src/syscall.h +index d2a117b..abc1762 100644 +--- a/setup-libaio-0.3.113/src/syscall.h ++++ b/setup-libaio-0.3.113/src/syscall.h +@@ -21,6 +21,8 @@ + #include "syscall-ppc.h" + #elif defined(__s390__) + #include "syscall-s390.h" ++#elif defined(__sw_64__) ++#include "syscall-sw_64.h" + #elif defined(__alpha__) + #include "syscall-alpha.h" + #elif defined(__arm__) +diff --git a/src/libaio.h b/src/libaio.h +index 87f9e8a..d9e4fb8 100644 +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -63,7 +63,7 @@ typedef enum io_iocb_cmd { + #define PADDEDul(x, y) unsigned long x; unsigned y + + /* little endian, 64 bits */ +-#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ ++#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || defined(__sw_64__) || \ + (defined(__aarch64__) && defined(__AARCH64EL__)) || \ + defined(__loongarch64) || \ + (defined(__riscv) && __riscv_xlen == 64) || \ +diff --git a/src/libaio.h.arm64-ilp32 b/src/libaio.h.arm64-ilp32 +index 24b4b8a..24a1a28 100644 +--- a/src/libaio.h.arm64-ilp32 ++++ b/src/libaio.h.arm64-ilp32 +@@ -62,7 +62,7 @@ typedef enum io_iocb_cmd { + #define PADDEDul(x, y) unsigned long x; unsigned y + + /* little endian, 64 bits */ +-#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ ++#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || defined(__sw_64__) || \ + (defined(__aarch64__) && defined(__AARCH64EL__)) || \ + defined(__loongarch64) || \ + (defined(__riscv) && __riscv_xlen == 64) || \ +diff --git a/src/syscall-sw_64.h b/src/syscall-sw_64.h +new file mode 100644 +index 0000000..0aa4d3d +--- /dev/null ++++ b/src/syscall-sw_64.h +@@ -0,0 +1,5 @@ ++#define __NR_io_setup 398 ++#define __NR_io_destroy 399 ++#define __NR_io_getevents 400 ++#define __NR_io_submit 401 ++#define __NR_io_cancel 402 +diff --git a/src/syscall.h b/src/syscall.h +index d2a117b..abc1762 100644 +--- a/src/syscall.h ++++ b/src/syscall.h +@@ -21,6 +21,8 @@ + #include "syscall-ppc.h" + #elif defined(__s390__) + #include "syscall-s390.h" ++#elif defined(__sw_64__) ++#include "syscall-sw_64.h" + #elif defined(__alpha__) + #include "syscall-alpha.h" + #elif defined(__arm__) +-- +2.33.0 + diff --git a/libaio.spec b/libaio.spec index 67345cd..214a73f 100644 --- a/libaio.spec +++ b/libaio.spec @@ -1,7 +1,7 @@ Name: libaio Version: 0.3.113 -Release: 2 +Release: 3 Summary: Linux-native asynchronous I/O access library License: LGPLv2+ URL: https://pagure.io/libaio @@ -16,6 +16,7 @@ Patch3: 0003-libaio-fix-for-x32.patch Patch4: 0004-libaio-makefile-add-D_FORTIFY_SOURCE-flag.patch Patch5: 0005-Fix-compile-error-that-exec-checking-need-super-priv.patch Patch6: 0006-skip-testcase-23-since-current-kernel-version-not-su.patch +Patch7: 0007-libaio-Add-sw64-architecture.patch BuildRequires: gcc @@ -45,6 +46,9 @@ Files for libaio development %patch4 -p1 -b .makefile-add-D_FORTIFY_SOURCE-flag %patch5 -p1 -b .fix-compile-error %patch6 -p1 -b .skip-testcase +%ifarch sw_64 +%patch7 -p1 +%endif mv %{name}-%{version} setup-%{name}-%{version} @@ -76,6 +80,9 @@ make check %attr(0755,root,root) %{_libdir}/libaio.so %changelog +* Mon Nov 7 2022 wuzx - 0.3.113-3 +- Add sw64 architecture + * Thu Nov 3 2022 wangzhiqiang - 0.3.113-2 - skip testcase 23 since current kernel version not support -- Gitee