From: Mark Wielaard Date: Tue, 9 Jun 2020 07:02:51 +0000 (+0200) Subject: Add execveat for arm[64], [nano]mips[32|64], ppc[32|64], s390x and x86. X-Git-Tag: VALGRIND_3_17_0~181 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0a69a8f5bdb8c9456104dedfd10744a493dfd06a;p=thirdparty%2Fvalgrind.git Add execveat for arm[64], [nano]mips[32|64], ppc[32|64], s390x and x86. https://bugs.kde.org/show_bug.cgi?id=345077 --- diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index db7ce10567..579542785e 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -1014,6 +1014,8 @@ static SyscallTableEntry syscall_main_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 384 LINXY(__NR_memfd_create, sys_memfd_create), // 385 + LINX_(__NR_execveat, sys_execveat), // 387 + LINX_(__NR_membarrier, sys_membarrier), // 389 LINX_(__NR_copy_file_range, sys_copy_file_range), // 391 LINXY(__NR_preadv2, sys_preadv2), // 392 diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c index 3ae8d86cf9..81e01456f8 100644 --- a/coregrind/m_syswrap/syswrap-arm64-linux.c +++ b/coregrind/m_syswrap/syswrap-arm64-linux.c @@ -813,7 +813,7 @@ static SyscallTableEntry syscall_main_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 278 LINXY(__NR_memfd_create, sys_memfd_create), // 279 LINXY(__NR_bpf, sys_bpf), // 280 - // (__NR_execveat, sys_ni_syscall), // 281 + LINX_(__NR_execveat, sys_execveat), // 281 // (__NR_userfaultfd, sys_ni_syscall), // 282 LINX_(__NR_membarrier, sys_membarrier), // 283 // (__NR_mlock2, sys_ni_syscall), // 284 diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index 406f9cda62..ffb428dcb5 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -1097,6 +1097,8 @@ static SyscallTableEntry syscall_main_table[] = { LINXY (__NR_getrandom, sys_getrandom), // 353 LINXY (__NR_memfd_create, sys_memfd_create), // 354 //.. + LINX_ (__NR_execveat, sys_execveat), // 356 + //.. LINX_ (__NR_membarrier, sys_membarrier), // 358 //.. LINX_ (__NR_copy_file_range, sys_copy_file_range), // 360 diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c index 6d7a7b21a4..e5b471955c 100644 --- a/coregrind/m_syswrap/syswrap-mips64-linux.c +++ b/coregrind/m_syswrap/syswrap-mips64-linux.c @@ -800,6 +800,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_process_vm_writev, sys_process_vm_writev), LINXY (__NR_getrandom, sys_getrandom), LINXY (__NR_memfd_create, sys_memfd_create), + LINX_ (__NR_execveat, sys_execveat), LINX_ (__NR_membarrier, sys_membarrier), LINX_ (__NR_copy_file_range, sys_copy_file_range), LINXY (__NR_preadv, sys_preadv), diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c index 92c0ac905b..40253fadf5 100644 --- a/coregrind/m_syswrap/syswrap-nanomips-linux.c +++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c @@ -809,7 +809,7 @@ static SyscallTableEntry syscall_main_table[] = { LINXY (__NR_statx, sys_statx), LINX_ (__NR_setns, sys_setns), // (__NR_bpf, sys_ni_syscall), - // (__NR_execveat, sys_ni_syscall), + LINX_ (__NR_execveat, sys_execveat), // (__NR_userfaultfd, sys_ni_syscall), LINX_ (__NR_membarrier, sys_membarrier), // (__NR_mlock2, sys_ni_syscall), diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 8f8eec3361..eed12a1bc6 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -1019,6 +1019,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 359 LINXY(__NR_memfd_create, sys_memfd_create), // 360 + LINX_ (__NR_execveat, sys_execveat), // 362 + LINX_(__NR_copy_file_range, sys_copy_file_range), // 379 LINXY(__NR_statx, sys_statx), // 383 diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c index d65a664dd6..d58200b491 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -1003,6 +1003,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 359 LINXY(__NR_memfd_create, sys_memfd_create), // 360 + LINX_(__NR_execveat, sys_execveat), // 362 + LINX_(__NR_membarrier, sys_membarrier), // 365 LINX_(__NR_copy_file_range, sys_copy_file_range), // 379 diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c index 7655b4bc97..a0a330aa20 100644 --- a/coregrind/m_syswrap/syswrap-s390x-linux.c +++ b/coregrind/m_syswrap/syswrap-s390x-linux.c @@ -833,6 +833,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_memfd_create, sys_memfd_create), // 350 + LINX_(__NR_execveat, sys_execveat), // 354 + LINX_(__NR_membarrier, sys_membarrier), // 356 LINXY(__NR_recvmmsg, sys_recvmmsg), // 357 LINXY(__NR_sendmmsg, sys_sendmmsg), // 358 diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index e047e59ed6..332ed0bf27 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -1588,6 +1588,7 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 355 LINXY(__NR_memfd_create, sys_memfd_create), // 356 // LIN__(__NR_bpf, sys_ni_syscall), // 357 + LINX_(__NR_execveat, sys_execveat), // 358 LINXY(__NR_socket, sys_socket), // 359 LINXY(__NR_socketpair, sys_socketpair), // 360 LINX_(__NR_bind, sys_bind), // 361 diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h index f38617098b..6487e20c99 100644 --- a/include/vki/vki-scnums-s390x-linux.h +++ b/include/vki/vki-scnums-s390x-linux.h @@ -315,6 +315,8 @@ #define __NR_getrandom 349 #define __NR_memfd_create 350 +#define __NR_execveat 354 + #define __NR_membarrier 356 #define __NR_recvmmsg 357 #define __NR_sendmmsg 358