arch_prctl used to be amd64 only. But since linux 4.12 it is also implemented or i386. And since glibc 2.28 (not yet released) it will be used to see if the cpu/kernel provides CET support. See also https://bugs.kde.org/show_bug.cgi?id=396887 To prevent seeing: WARNING: unhandled x86-linux syscall: 384 You may be able to write your own handler. Read the file README_MISSING_SYSCALL_OR_IOCTL. Nevertheless we consider this a bug. Please report it at http://valgrind.org/support/bug_reports.html. on every program run under valgrind I just made it ENOSYS on Fedora: diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index bec145a..11bb13d 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -1604,7 +1604,10 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_sendmsg, sys_sendmsg), // 370 LINXY(__NR_recvfrom, sys_recvfrom), // 371 LINXY(__NR_recvmsg, sys_recvmsg), // 372 - LINX_(__NR_shutdown, sys_shutdown) // 373 + LINX_(__NR_shutdown, sys_shutdown), // 373 + + /* Explicitly not supported on i386 yet. */ + GENX_(__NR_arch_prctl, sys_ni_syscall) // 384 }; SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) This is fine for glibc/ld.so usage since any failure indicates no CET support.
commit 2eb2df759f51b15702934dee108f4c20c3db5fef Author: Mark Wielaard <mark@klomp.org> Date: Tue Jul 31 15:32:43 2018 +0200 Bug 397012 - glibc ld.so uses arch_prctl on i386. arch_prctl used to be amd64 only. But since linux 4.12 it is also implemented for i386. And since glibc 2.28 ld.so will use it to see if the cpu/kernel provides CET support. To prevent seeing: WARNING: unhandled x86-linux syscall: 384 You may be able to write your own handler. Read the file README_MISSING_SYSCALL_OR_IOCTL. Nevertheless we consider this a bug. Please report it at http://valgrind.org/support/bug_reports.html. on every program run under valgrind just make it explicitly not implemented (ENOSYS). This is fine for the glibc usage. It just indicates there is no CET support.
*** Bug 397521 has been marked as a duplicate of this bug. ***
*** Bug 397393 has been marked as a duplicate of this bug. ***