summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-06-15 12:41:45 +0900
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-01-13 11:11:28 +0100
commit0af62e7f7566985b38b89d3d55ca266e61005d0f (patch)
treec7509868fe975ffaf74cff84351faf9811cf246f
parent04ba6148cfb7d323dada884214fef307ebdf06bd (diff)
downloadsystemd-0af62e7f7566985b38b89d3d55ca266e61005d0f.tar.gz
missing_syscall: add riscv32 support
(cherry picked from commit fc75007b3258d2d5a6d25f03116493f17c3b8db8)
-rw-r--r--src/basic/missing_syscall_def.h167
-rw-r--r--src/basic/missing_syscalls.py10
2 files changed, 142 insertions, 35 deletions
diff --git a/src/basic/missing_syscall_def.h b/src/basic/missing_syscall_def.h
index f36c55abc3..897f045c30 100644
--- a/src/basic/missing_syscall_def.h
+++ b/src/basic/missing_syscall_def.h
@@ -18,7 +18,12 @@
# error "Unknown MIPS ABI"
# endif
# elif defined(__powerpc__)
-# elif defined(__riscv) && defined(__LP64__)
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# elif __riscv_xlen == 64
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# elif defined(__sparc__)
# elif defined(__x86_64__)
@@ -57,8 +62,14 @@
# endif
# elif defined(__powerpc__)
# define systemd_NR_bpf 361
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_bpf 280
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_bpf 280
+# elif __riscv_xlen == 64
+# define systemd_NR_bpf 280
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_bpf 351
# elif defined(__sparc__)
@@ -115,8 +126,14 @@ assert_cc(__NR_bpf == systemd_NR_bpf);
# endif
# elif defined(__powerpc__)
# define systemd_NR_close_range 436
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_close_range 436
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_close_range 436
+# elif __riscv_xlen == 64
+# define systemd_NR_close_range 436
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_close_range 436
# elif defined(__sparc__)
@@ -173,8 +190,14 @@ assert_cc(__NR_close_range == systemd_NR_close_range);
# endif
# elif defined(__powerpc__)
# define systemd_NR_copy_file_range 379
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_copy_file_range 285
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_copy_file_range 285
+# elif __riscv_xlen == 64
+# define systemd_NR_copy_file_range 285
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_copy_file_range 375
# elif defined(__sparc__)
@@ -231,8 +254,14 @@ assert_cc(__NR_copy_file_range == systemd_NR_copy_file_range);
# endif
# elif defined(__powerpc__)
# define systemd_NR_epoll_pwait2 441
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_epoll_pwait2 441
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_epoll_pwait2 441
+# elif __riscv_xlen == 64
+# define systemd_NR_epoll_pwait2 441
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_epoll_pwait2 441
# elif defined(__sparc__)
@@ -289,8 +318,14 @@ assert_cc(__NR_epoll_pwait2 == systemd_NR_epoll_pwait2);
# endif
# elif defined(__powerpc__)
# define systemd_NR_getrandom 359
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_getrandom 278
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_getrandom 278
+# elif __riscv_xlen == 64
+# define systemd_NR_getrandom 278
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_getrandom 349
# elif defined(__sparc__)
@@ -347,8 +382,14 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom);
# endif
# elif defined(__powerpc__)
# define systemd_NR_memfd_create 360
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_memfd_create 279
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_memfd_create 279
+# elif __riscv_xlen == 64
+# define systemd_NR_memfd_create 279
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_memfd_create 350
# elif defined(__sparc__)
@@ -405,8 +446,14 @@ assert_cc(__NR_memfd_create == systemd_NR_memfd_create);
# endif
# elif defined(__powerpc__)
# define systemd_NR_mount_setattr 442
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_mount_setattr 442
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_mount_setattr 442
+# elif __riscv_xlen == 64
+# define systemd_NR_mount_setattr 442
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_mount_setattr 442
# elif defined(__sparc__)
@@ -463,8 +510,14 @@ assert_cc(__NR_mount_setattr == systemd_NR_mount_setattr);
# endif
# elif defined(__powerpc__)
# define systemd_NR_move_mount 429
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_move_mount 429
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_move_mount 429
+# elif __riscv_xlen == 64
+# define systemd_NR_move_mount 429
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_move_mount 429
# elif defined(__sparc__)
@@ -521,8 +574,14 @@ assert_cc(__NR_move_mount == systemd_NR_move_mount);
# endif
# elif defined(__powerpc__)
# define systemd_NR_name_to_handle_at 345
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_name_to_handle_at 264
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_name_to_handle_at 264
+# elif __riscv_xlen == 64
+# define systemd_NR_name_to_handle_at 264
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_name_to_handle_at 335
# elif defined(__sparc__)
@@ -579,8 +638,14 @@ assert_cc(__NR_name_to_handle_at == systemd_NR_name_to_handle_at);
# endif
# elif defined(__powerpc__)
# define systemd_NR_open_tree 428
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_open_tree 428
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_open_tree 428
+# elif __riscv_xlen == 64
+# define systemd_NR_open_tree 428
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_open_tree 428
# elif defined(__sparc__)
@@ -637,8 +702,14 @@ assert_cc(__NR_open_tree == systemd_NR_open_tree);
# endif
# elif defined(__powerpc__)
# define systemd_NR_pidfd_open 434
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_pidfd_open 434
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_pidfd_open 434
+# elif __riscv_xlen == 64
+# define systemd_NR_pidfd_open 434
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_pidfd_open 434
# elif defined(__sparc__)
@@ -695,8 +766,14 @@ assert_cc(__NR_pidfd_open == systemd_NR_pidfd_open);
# endif
# elif defined(__powerpc__)
# define systemd_NR_pidfd_send_signal 424
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_pidfd_send_signal 424
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_pidfd_send_signal 424
+# elif __riscv_xlen == 64
+# define systemd_NR_pidfd_send_signal 424
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_pidfd_send_signal 424
# elif defined(__sparc__)
@@ -753,8 +830,14 @@ assert_cc(__NR_pidfd_send_signal == systemd_NR_pidfd_send_signal);
# endif
# elif defined(__powerpc__)
# define systemd_NR_pkey_mprotect 386
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_pkey_mprotect 288
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_pkey_mprotect 288
+# elif __riscv_xlen == 64
+# define systemd_NR_pkey_mprotect 288
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_pkey_mprotect 384
# elif defined(__sparc__)
@@ -811,8 +894,14 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect);
# endif
# elif defined(__powerpc__)
# define systemd_NR_renameat2 357
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_renameat2 276
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_renameat2 276
+# elif __riscv_xlen == 64
+# define systemd_NR_renameat2 276
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_renameat2 347
# elif defined(__sparc__)
@@ -869,8 +958,14 @@ assert_cc(__NR_renameat2 == systemd_NR_renameat2);
# endif
# elif defined(__powerpc__)
# define systemd_NR_setns 350
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_setns 268
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_setns 268
+# elif __riscv_xlen == 64
+# define systemd_NR_setns 268
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_setns 339
# elif defined(__sparc__)
@@ -927,8 +1022,14 @@ assert_cc(__NR_setns == systemd_NR_setns);
# endif
# elif defined(__powerpc__)
# define systemd_NR_statx 383
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_statx 291
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_statx 291
+# elif __riscv_xlen == 64
+# define systemd_NR_statx 291
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_statx 379
# elif defined(__sparc__)
diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py
index 0234e6fc44..ed79be568b 100644
--- a/src/basic/missing_syscalls.py
+++ b/src/basic/missing_syscalls.py
@@ -73,8 +73,14 @@ DEF_TEMPLATE_B = '''\
# endif
# elif defined(__powerpc__)
# define systemd_NR_{syscall} {nr_powerpc}
-# elif defined(__riscv) && defined(__LP64__)
-# define systemd_NR_{syscall} {nr_riscv64}
+# elif defined(__riscv)
+# if __riscv_xlen == 32
+# define systemd_NR_{syscall} {nr_riscv32}
+# elif __riscv_xlen == 64
+# define systemd_NR_{syscall} {nr_riscv64}
+# else
+# error "Unknown RISC-V ABI"
+# endif
# elif defined(__s390__)
# define systemd_NR_{syscall} {nr_s390}
# elif defined(__sparc__)