Noticed when ran GHC on alpha: $ qemu-alpha -L /usr/alpha-unknown-linux-gnu/ /tmp/a qemu: Unsupported syscall: 407
linux-user/syscall.c does have 'epoll_create' wiring, but under nondeprecated name. Instead of defining both TARGET_NR_sys_epoll_create and TARGET_NR_epoll_create I've renamed former to later as old name is not used anywhere else in qemu (except the linux-user/strace.list). After this change GHC works fine under qemu-alpha: $ ./alpha-linux-user/qemu-alpha -L /usr/alpha-unknown-linux-gnu/ /tmp/a ... Cc: Riku Voipio <riku.voi...@iki.fi> Cc: qemu-devel@nongnu.org Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Sergei Trofimovich <sly...@gentoo.org> --- Change since v1: - cleaned up 'linux-user/strace.list' from deprecated defines linux-user/alpha/syscall_nr.h | 6 +++--- linux-user/strace.list | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/linux-user/alpha/syscall_nr.h b/linux-user/alpha/syscall_nr.h index 00e14bb6b3..e848154663 100644 --- a/linux-user/alpha/syscall_nr.h +++ b/linux-user/alpha/syscall_nr.h @@ -343,9 +343,9 @@ #define TARGET_NR_io_cancel 402 #define TARGET_NR_exit_group 405 #define TARGET_NR_lookup_dcookie 406 -#define TARGET_NR_sys_epoll_create 407 -#define TARGET_NR_sys_epoll_ctl 408 -#define TARGET_NR_sys_epoll_wait 409 +#define TARGET_NR_epoll_create 407 +#define TARGET_NR_epoll_ctl 408 +#define TARGET_NR_epoll_wait 409 #define TARGET_NR_remap_file_pages 410 #define TARGET_NR_set_tid_address 411 #define TARGET_NR_restart_syscall 412 diff --git a/linux-user/strace.list b/linux-user/strace.list index 3b1282ec1a..ccfb58b7f4 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1467,15 +1467,6 @@ #ifdef TARGET_NR__sysctl { TARGET_NR__sysctl, "_sysctl" , NULL, NULL, NULL }, #endif -#ifdef TARGET_NR_sys_epoll_create -{ TARGET_NR_sys_epoll_create, "sys_epoll_create" , NULL, NULL, NULL }, -#endif -#ifdef TARGET_NR_sys_epoll_ctl -{ TARGET_NR_sys_epoll_ctl, "sys_epoll_ctl" , NULL, NULL, NULL }, -#endif -#ifdef TARGET_NR_sys_epoll_wait -{ TARGET_NR_sys_epoll_wait, "sys_epoll_wait" , NULL, NULL, NULL }, -#endif #ifdef TARGET_NR_sysfs { TARGET_NR_sysfs, "sysfs" , NULL, NULL, NULL }, #endif -- 2.13.0