Add sw64 architecture

Signed-off-by: wzx <wuzx1226@qq.com>
This commit is contained in:
wzx 2022-11-07 15:17:15 +08:00
parent 8d4f0df75f
commit ddd8aa0123
7 changed files with 198 additions and 137 deletions

View File

@ -1,16 +1,25 @@
From 723d28d8ec87d0c89a7c360c29f79b1b5644695d Mon Sep 17 00:00:00 2001
From: wangzhiqiang <wangzhiqiang95@huawei.com>
Date: Fri, 28 Oct 2022 17:06:54 +0800
Subject: [PATCH] libaio arm64 ilp32
---
src/libaio.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/libaio.h b/src/libaio.h diff --git a/src/libaio.h b/src/libaio.h
index 2bc24e0..f44034d 100644 index 24b4b8a..07bda2a 100644
--- a/src/libaio.h --- a/src/libaio.h
+++ b/src/libaio.h +++ b/src/libaio.h
@@ -54,6 +54,7 @@ typedef enum io_iocb_cmd { @@ -55,6 +55,7 @@ typedef enum io_iocb_cmd {
#if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \
defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \
defined(__cris__) || (defined(__riscv) && __riscv_xlen == 32) || \ defined(__cris__) || defined(__loongarch32) || \
(defined(__riscv) && __riscv_xlen == 32) || \
+ (defined(__aarch64__) && defined(__ILP32__) && defined(__AARCH64EL__)) || \ + (defined(__aarch64__) && defined(__ILP32__) && defined(__AARCH64EL__)) || \
(defined(__GNUC__) && defined(__BYTE_ORDER__) && \ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4) __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4)
#define PADDED(x, y) x; unsigned y #define PADDED(x, y) x; unsigned y
@@ -85,6 +86,7 @@ typedef enum io_iocb_cmd { @@ -87,6 +88,7 @@ typedef enum io_iocb_cmd {
(defined(__arm__) && defined(__ARMEB__)) || \ (defined(__arm__) && defined(__ARMEB__)) || \
defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \ defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \
defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \ defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \
@ -18,3 +27,6 @@ index 2bc24e0..f44034d 100644
(defined(__GNUC__) && defined(__BYTE_ORDER__) && \ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \
__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4) __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4)
#define PADDED(x, y) unsigned y; x #define PADDED(x, y) unsigned y; x
--
2.33.0

View File

@ -0,0 +1,29 @@
From 385c1b9eb28e1cc1f64ddedb4a64aa2effa13d5c Mon Sep 17 00:00:00 2001
From: wangzhiqiang <wangzhiqiang95@huawei.com>
Date: Thu, 3 Nov 2022 16:24:49 +0800
Subject: [PATCH] skip testcase 23 since current kernel version not support
current kernel version of obs not support run testcase 23,
so skip it to avoild build error.
issue: https://gitee.com/src-openeuler/libaio/issue/I5XELL
---
harness/runtests.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/harness/runtests.sh b/harness/runtests.sh
index e9ceec8..a62bae7 100755
--- a/harness/runtests.sh
+++ b/harness/runtests.sh
@@ -9,6 +9,9 @@ echo "Test run starting at" `date`
while [ $# -ge 1 ] ; do
this_test=$1
shift
+ if [ $this_test = "cases/23.p" ];then
+ continue
+ fi
echo "Starting $this_test"
$this_test 2>&1
res=$?
--
2.33.0

View File

@ -0,0 +1,138 @@
From 9f996eb3419e32f7408b14d49421ef9058ff17cf Mon Sep 17 00:00:00 2001
From: wzx <wuzx1226@qq.com>
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 <wuzx1226@qq.com>
---
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

View File

@ -1,126 +0,0 @@
diff -Nuar libaio-0.3.112.org/harness/cases/16.t libaio-0.3.112.sw/harness/cases/16.t
--- libaio-0.3.112.org/harness/cases/16.t 2022-07-29 16:39:35.580000000 +0000
+++ libaio-0.3.112.sw/harness/cases/16.t 2022-07-29 16:44:54.450000000 +0000
@@ -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__)
diff -Nuar libaio-0.3.112.org/libaio-0.3.112/harness/cases/16.t libaio-0.3.112.sw/libaio-0.3.112/harness/cases/16.t
--- libaio-0.3.112.org/libaio-0.3.112/harness/cases/16.t 2022-07-29 16:39:35.590000000 +0000
+++ libaio-0.3.112.sw/libaio-0.3.112/harness/cases/16.t 2022-07-29 16:46:40.590000000 +0000
@@ -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__)
diff -Nuar libaio-0.3.112.org/libaio-0.3.112/libaio.spec libaio-0.3.112.sw/libaio-0.3.112/libaio.spec
--- libaio-0.3.112.org/libaio-0.3.112/libaio.spec 2022-07-29 16:39:35.590000000 +0000
+++ libaio-0.3.112.sw/libaio-0.3.112/libaio.spec 2022-07-29 16:47:04.810000000 +0000
@@ -7,7 +7,7 @@
Source: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-root
# Fix ExclusiveArch as we implement this functionality on more architectures
-ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha alphaev6 %{arm}
+ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha sw_64 alphaev6 %{arm}
%description
The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a
diff -Nuar libaio-0.3.112.org/libaio-0.3.112/src/libaio.h libaio-0.3.112.sw/libaio-0.3.112/src/libaio.h
--- libaio-0.3.112.org/libaio-0.3.112/src/libaio.h 2022-07-29 16:39:35.600000000 +0000
+++ libaio-0.3.112.sw/libaio-0.3.112/src/libaio.h 2022-07-29 16:51:34.550000000 +0000
@@ -61,7 +61,7 @@
#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(__riscv) && __riscv_xlen == 64) || \
(defined(__GNUC__) && defined(__BYTE_ORDER__) && \
diff -Nuar libaio-0.3.112.org/libaio-0.3.112/src/syscall-sw_64.h libaio-0.3.112.sw/libaio-0.3.112/src/syscall-sw_64.h
--- libaio-0.3.112.org/libaio-0.3.112/src/syscall-sw_64.h 1970-01-01 00:00:00.000000000 +0000
+++ libaio-0.3.112.sw/libaio-0.3.112/src/syscall-sw_64.h 2022-07-29 16:55:06.690000000 +0000
@@ -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 -Nuar libaio-0.3.112.org/libaio-0.3.112/src/syscall.h libaio-0.3.112.sw/libaio-0.3.112/src/syscall.h
--- libaio-0.3.112.org/libaio-0.3.112/src/syscall.h 2022-07-29 16:39:35.600000000 +0000
+++ libaio-0.3.112.sw/libaio-0.3.112/src/syscall.h 2022-07-29 16:55:31.370000000 +0000
@@ -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 -Nuar libaio-0.3.112.org/libaio.spec libaio-0.3.112.sw/libaio.spec
--- libaio-0.3.112.org/libaio.spec 2022-07-29 16:39:35.580000000 +0000
+++ libaio-0.3.112.sw/libaio.spec 2022-07-29 16:45:23.150000000 +0000
@@ -7,7 +7,7 @@
Source: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-root
# Fix ExclusiveArch as we implement this functionality on more architectures
-ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha alphaev6 %{arm}
+ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha sw_64 alphaev6 %{arm}
%description
The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a
diff -Nuar libaio-0.3.112.org/src/libaio.h libaio-0.3.112.sw/src/libaio.h
--- libaio-0.3.112.org/src/libaio.h 2022-07-29 16:39:35.590000000 +0000
+++ libaio-0.3.112.sw/src/libaio.h 2022-07-29 16:48:09.440000000 +0000
@@ -62,7 +62,7 @@
#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(__riscv) && __riscv_xlen == 64) || \
(defined(__GNUC__) && defined(__BYTE_ORDER__) && \
diff -Nuar libaio-0.3.112.org/src/libaio.h.arm64-ilp32 libaio-0.3.112.sw/src/libaio.h.arm64-ilp32
--- libaio-0.3.112.org/src/libaio.h.arm64-ilp32 2022-07-29 16:39:35.590000000 +0000
+++ libaio-0.3.112.sw/src/libaio.h.arm64-ilp32 2022-07-29 16:52:58.860000000 +0000
@@ -61,7 +61,7 @@
#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(__riscv) && __riscv_xlen == 64) || \
(defined(__GNUC__) && defined(__BYTE_ORDER__) && \
diff -Nuar libaio-0.3.112.org/src/syscall-sw_64.h libaio-0.3.112.sw/src/syscall-sw_64.h
--- libaio-0.3.112.org/src/syscall-sw_64.h 1970-01-01 00:00:00.000000000 +0000
+++ libaio-0.3.112.sw/src/syscall-sw_64.h 2022-07-29 16:54:00.610000000 +0000
@@ -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 -Nuar libaio-0.3.112.org/src/syscall.h libaio-0.3.112.sw/src/syscall.h
--- libaio-0.3.112.org/src/syscall.h 2022-07-29 16:39:35.590000000 +0000
+++ libaio-0.3.112.sw/src/syscall.h 2022-07-29 16:54:32.940000000 +0000
@@ -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__)

Binary file not shown.

BIN
libaio-0.3.113.tar.gz Normal file

Binary file not shown.

View File

@ -1,7 +1,7 @@
Name: libaio Name: libaio
Version: 0.3.112 Version: 0.3.113
Release: 6 Release: 2
Summary: Linux-native asynchronous I/O access library Summary: Linux-native asynchronous I/O access library
License: LGPLv2+ License: LGPLv2+
URL: https://pagure.io/libaio URL: https://pagure.io/libaio
@ -15,7 +15,8 @@ Patch2: 0002-libaio-makefile-cflags.patch
Patch3: 0003-libaio-fix-for-x32.patch Patch3: 0003-libaio-fix-for-x32.patch
Patch4: 0004-libaio-makefile-add-D_FORTIFY_SOURCE-flag.patch Patch4: 0004-libaio-makefile-add-D_FORTIFY_SOURCE-flag.patch
Patch5: 0005-Fix-compile-error-that-exec-checking-need-super-priv.patch Patch5: 0005-Fix-compile-error-that-exec-checking-need-super-priv.patch
Patch6: libaio-0.3.112-sw.patch Patch6: 0006-skip-testcase-23-since-current-kernel-version-not-su.patch
Patch7: 0007-libaio-Add-sw64-architecture.patch
BuildRequires: gcc BuildRequires: gcc
@ -44,7 +45,8 @@ Files for libaio development
%patch3 -p1 -b .fix-x32 %patch3 -p1 -b .fix-x32
%patch4 -p1 -b .makefile-add-D_FORTIFY_SOURCE-flag %patch4 -p1 -b .makefile-add-D_FORTIFY_SOURCE-flag
%patch5 -p1 -b .fix-compile-error %patch5 -p1 -b .fix-compile-error
%patch6 -p1 %patch6 -p1 -b .skip-testcase
%patch7 -p1
mv %{name}-%{version} setup-%{name}-%{version} mv %{name}-%{version} setup-%{name}-%{version}
@ -76,8 +78,14 @@ make check
%attr(0755,root,root) %{_libdir}/libaio.so %attr(0755,root,root) %{_libdir}/libaio.so
%changelog %changelog
* Thu Jul 28 2022 wuzx<wuzx1226@qq.com> - 0.3.112-6 * Wed Nov 7 2022 wuzx<wuzx1226@qq.com> - 0.3.113-3
- add sw64 patch - Add sw64 architecture
* Thu Nov 3 2022 wangzhiqiang <wangzhiqiang95@huawei.com> - 0.3.113-2
- skip testcase 23 since current kernel version not support
* Fri Oct 28 2022 wangzhiqiang <wangzhiqiang95@huawei.com> - 0.3.113-1
- update from 0.3.112 to 0.3.113
* Fri Jun 24 2022 lihaoxiang <lihaoxiang9@huawei.com> - 0.3.112-5 * Fri Jun 24 2022 lihaoxiang <lihaoxiang9@huawei.com> - 0.3.112-5
- fix compile error - fix compile error