From c2cee4daa4834ef8997c35551cb8405a8d39a1c8 Mon Sep 17 00:00:00 2001 From: yehui ren Date: Jun 10 2021 09:10:26 +0000 Subject: [PATCH 1/4] Update harness/cases/16.t Add support for LoongArch --- diff --git a/harness/cases/16.t b/harness/cases/16.t index b36bbd2..4d24b04 100644 --- a/harness/cases/16.t +++ b/harness/cases/16.t @@ -18,8 +18,8 @@ #define SYS_eventfd 318 #elif defined(__alpha__) #define SYS_eventfd 478 -#elif defined(__aarch64__) || defined(__riscv) -/* arm64 and riscv do not implement eventfd, only eventfd2 */ +#elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv) +/* these recent architectures do not implement eventfd, only eventfd2 */ #define USE_EVENTFD2 #ifndef SYS_eventfd2 #define SYS_eventfd2 19 From 26718483a4cace7b12dd5e3956282a98faecd41f Mon Sep 17 00:00:00 2001 From: yehui ren Date: Jun 10 2021 09:15:28 +0000 Subject: [PATCH 2/4] Update libaio.spec Add support for LoongArch --- diff --git a/libaio.spec b/libaio.spec index d1fa2cc..468be43 100644 --- a/libaio.spec +++ b/libaio.spec @@ -7,7 +7,7 @@ Group: System Environment/Libraries 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 alphaev6 %{arm} loongarch64 %description The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a From 57ac7d8aaedf66ac527af713ad868777cd3b6b63 Mon Sep 17 00:00:00 2001 From: yehui ren Date: Jun 10 2021 09:23:39 +0000 Subject: [PATCH 3/4] Update src/libaio.h Add support for LoongArch --- diff --git a/src/libaio.h b/src/libaio.h index 8b33382..4233303 100644 --- a/src/libaio.h +++ b/src/libaio.h @@ -53,7 +53,8 @@ typedef enum io_iocb_cmd { /* little endian, 32 bits */ #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \ defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ - defined(__cris__) || (defined(__riscv) && __riscv_xlen == 32) || \ + defined(__cris__) || defined(__loongarch32) || \ + (defined(__riscv) && __riscv_xlen == 32) || \ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4) #define PADDED(x, y) x; unsigned y @@ -63,6 +64,7 @@ typedef enum io_iocb_cmd { /* little endian, 64 bits */ #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ (defined(__aarch64__) && defined(__AARCH64EL__)) || \ + defined(__loongarch64) || \ (defined(__riscv) && __riscv_xlen == 64) || \ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 8) From 27be155f3224129240b6e11c110ecd6c2dbc83b1 Mon Sep 17 00:00:00 2001 From: yehui ren Date: Jun 10 2021 09:28:24 +0000 Subject: [PATCH 4/4] Update src/syscall.h Add support for LoongArch --- diff --git a/src/syscall.h b/src/syscall.h index b53da4c..d2a117b 100644 --- a/src/syscall.h +++ b/src/syscall.h @@ -27,7 +27,7 @@ #include "syscall-arm.h" #elif defined(__sparc__) #include "syscall-sparc.h" -#elif defined(__aarch64__) || defined(__riscv) +#elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv) #include "syscall-generic.h" #else #warning "using system call numbers from sys/syscall.h"