Blame SOURCES/valgrind-3.11.0-s390-separate-socketcalls.patch

f096bf
commit d9201968186f799b9a2c0793a29029819372a072
f096bf
Author: mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9>
f096bf
Date:   Tue Feb 23 15:19:49 2016 +0000
f096bf
f096bf
    Bug 359703 s390: wire up separate socketcalls system calls
f096bf
    
f096bf
    The linux 4.3 s390 kernel has separate system calls that were originally
f096bf
    hidden behind the socketcall multiplexer system call. Newer glibc versions
f096bf
    will use these direct system calls instead of socketcall when available.
f096bf
    Causing several regtest failures.
f096bf
    
f096bf
    This fix simply wires up the split out system calls directly to the
f096bf
    existing syswrap handlers for s390.
f096bf
    
f096bf
    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15802 a5019735-40e9-0310-863c-91ae7b9d1cf9
f096bf
f096bf
diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
f096bf
index e919b8f..0513789 100644
f096bf
--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
f096bf
+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
f096bf
@@ -1051,7 +1051,25 @@ static SyscallTableEntry syscall_table[] = {
f096bf
 // ?????(__NR_seccomp, ),                                             // 348
f096bf
    LINXY(__NR_getrandom, sys_getrandom),                              // 349
f096bf
 
f096bf
-   LINXY(__NR_memfd_create, sys_memfd_create)                         // 350
f096bf
+   LINXY(__NR_memfd_create, sys_memfd_create),                        // 350
f096bf
+
f096bf
+   LINXY(__NR_recvmmsg, sys_recvmmsg),                                // 357
f096bf
+   LINXY(__NR_sendmmsg, sys_sendmmsg),                                // 358
f096bf
+   LINXY(__NR_socket, sys_socket),                                    // 359
f096bf
+   LINXY(__NR_socketpair, sys_socketpair),                            // 360
f096bf
+   LINX_(__NR_bind, sys_bind),                                        // 361
f096bf
+   LINX_(__NR_connect, sys_connect),                                  // 362
f096bf
+   LINX_(__NR_listen, sys_listen),                                    // 363
f096bf
+   LINXY(__NR_accept4, sys_accept4),                                  // 364
f096bf
+   LINXY(__NR_getsockopt, sys_getsockopt),                            // 365
f096bf
+   LINX_(__NR_setsockopt, sys_setsockopt),                            // 366
f096bf
+   LINXY(__NR_getsockname, sys_getsockname),                          // 367
f096bf
+   LINXY(__NR_getpeername, sys_getpeername),                          // 368
f096bf
+   LINX_(__NR_sendto, sys_sendto),                                    // 369
f096bf
+   LINX_(__NR_sendmsg, sys_sendmsg),                                  // 270
f096bf
+   LINXY(__NR_recvfrom, sys_recvfrom),                                // 371
f096bf
+   LINXY(__NR_recvmsg, sys_recvmsg),                                  // 372
f096bf
+   LINX_(__NR_shutdown, sys_shutdown)                                 // 373
f096bf
 };
f096bf
 
f096bf
 SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
f096bf
diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h
f096bf
index 2a4a8f1..0187045 100644
f096bf
--- a/include/vki/vki-scnums-s390x-linux.h
f096bf
+++ b/include/vki/vki-scnums-s390x-linux.h
f096bf
@@ -316,7 +316,26 @@
f096bf
 #define __NR_seccomp		348
f096bf
 #define __NR_getrandom		349
f096bf
 #define __NR_memfd_create	350
f096bf
-#define NR_syscalls 351
f096bf
+
f096bf
+#define __NR_recvmmsg		357
f096bf
+#define __NR_sendmmsg		358
f096bf
+#define __NR_socket		359
f096bf
+#define __NR_socketpair		360
f096bf
+#define __NR_bind		361
f096bf
+#define __NR_connect		362
f096bf
+#define __NR_listen		363
f096bf
+#define __NR_accept4		364
f096bf
+#define __NR_getsockopt		365
f096bf
+#define __NR_setsockopt		366
f096bf
+#define __NR_getsockname	367
f096bf
+#define __NR_getpeername	368
f096bf
+#define __NR_sendto		369
f096bf
+#define __NR_sendmsg		370
f096bf
+#define __NR_recvfrom		371
f096bf
+#define __NR_recvmsg		372
f096bf
+#define __NR_shutdown		373
f096bf
+
f096bf
+#define NR_syscalls 374
f096bf
 
f096bf
 /* 
f096bf
  * There are some system calls that are not present on 64 bit, some