diff --git a/valgrind-3.11.0-socketcall-x86-linux.patch b/valgrind-3.11.0-socketcall-x86-linux.patch new file mode 100644 index 0000000..fe30d0f --- /dev/null +++ b/valgrind-3.11.0-socketcall-x86-linux.patch @@ -0,0 +1,70 @@ +commit 266d48ed3aa5f5a6c422805d56abc5a32b90c09c +Author: mjw +Date: Wed Jan 20 22:24:43 2016 +0000 + + Bug #358030 Support direct socket calls on x86 32bit (new in linux 4.3) + + Patch by ronald.wahl@raritan.com. + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15764 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c +index 24d7dc1..3c80e6a 100644 +--- a/coregrind/m_syswrap/syswrap-x86-linux.c ++++ b/coregrind/m_syswrap/syswrap-x86-linux.c +@@ -1824,8 +1824,23 @@ static SyscallTableEntry syscall_table[] = { + // LIN__(__NR_seccomp, sys_ni_syscall), // 354 + + LINXY(__NR_getrandom, sys_getrandom), // 355 +- LINXY(__NR_memfd_create, sys_memfd_create) // 356 +-// LIN__(__NR_bpf, sys_ni_syscall) // 357 ++ LINXY(__NR_memfd_create, sys_memfd_create), // 356 ++// LIN__(__NR_bpf, sys_ni_syscall), // 357 ++ LINXY(__NR_socket, sys_socket), // 359 ++ LINXY(__NR_socketpair, sys_socketpair), // 360 ++ LINX_(__NR_bind, sys_bind), // 361 ++ LINX_(__NR_connect, sys_connect), // 362 ++ LINX_(__NR_listen, sys_listen), // 363 ++ LINXY(__NR_accept4, sys_accept4), // 364 ++ LINXY(__NR_getsockopt, sys_getsockopt), // 365 ++ LINX_(__NR_setsockopt, sys_setsockopt), // 366 ++ LINXY(__NR_getsockname, sys_getsockname), // 367 ++ LINXY(__NR_getpeername, sys_getpeername), // 368 ++ LINX_(__NR_sendto, sys_sendto), // 369 ++ LINX_(__NR_sendmsg, sys_sendmsg), // 370 ++ LINXY(__NR_recvfrom, sys_recvfrom), // 371 ++ LINXY(__NR_recvmsg, sys_recvmsg), // 372 ++ LINX_(__NR_shutdown, sys_shutdown) // 373 + }; + + SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) +diff --git a/include/vki/vki-scnums-x86-linux.h b/include/vki/vki-scnums-x86-linux.h +index 5479b3e..a4e75a7 100644 +--- a/include/vki/vki-scnums-x86-linux.h ++++ b/include/vki/vki-scnums-x86-linux.h +@@ -392,6 +392,25 @@ + #define __NR_getrandom 355 + #define __NR_memfd_create 356 + #define __NR_bpf 357 ++#define __NR_execveat 358 ++#define __NR_socket 359 ++#define __NR_socketpair 360 ++#define __NR_bind 361 ++#define __NR_connect 362 ++#define __NR_listen 363 ++#define __NR_accept4 364 ++#define __NR_getsockopt 365 ++#define __NR_setsockopt 366 ++#define __NR_getsockname 367 ++#define __NR_getpeername 368 ++#define __NR_sendto 369 ++#define __NR_sendmsg 370 ++#define __NR_recvfrom 371 ++#define __NR_recvmsg 372 ++#define __NR_shutdown 373 ++#define __NR_userfaultfd 374 ++#define __NR_membarrier 375 ++#define __NR_mlock2 376 + + #endif /* __VKI_SCNUMS_X86_LINUX_H */ + diff --git a/valgrind.spec b/valgrind.spec index f23a0e1..460bdc4 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -88,6 +88,9 @@ Patch13: valgrind-3.11.0-fclose.patch # KDE#357871 Fix helgrind wrapper of pthread_spin_destroy Patch14: valgrind-3.11.0-pthread_spin_destroy.patch +# KDE#358030 Support direct socket calls on x86 32bit (new in linux 4.3) +Patch15: valgrind-3.11.0-socketcall-x86-linux.patch + %if %{build_multilib} # Ensure glibc{,-devel} is installed for both multilib arches BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so @@ -206,6 +209,7 @@ Valgrind User Manual for details. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -385,6 +389,7 @@ echo ===============END TESTING=============== - Add valgrind-3.11.0-rlimit_data.patch - Add valgrind-3.11.0-fclose.patch - Add valgrind-3.11.0-pthread_spin_destroy.patch +- Add valgrind-3.11.0-socketcall-x86-linux.patch * Tue Jan 19 2016 Mark Wielaard - 3.11.0-7 - Add valgrind-3.11.0-pthread_barrier.patch