patches/strace/4.5.18/160-undef-syscall.patch
author Johannes Stezenbach <js@sig21.net>
Tue Oct 30 00:22:25 2012 +0000 (2012-10-30)
changeset 3097 5c67476c7342
permissions -rw-r--r--
scripts/functions: fix endless loop in debug-shell with IO redirection

CT_DEBUG_INTERACTIVE is disabled when stdin, stdout or
stderr are redirected, but the check is only done at
the start of the build and doesn't catch when individual
build commands use redirection. When stdin is redirected
it will cause the debug shell to exit immediately, causing
and endless loop. Thus, save the stdin/our/err file handles
and restore them before invoking the debug shell.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121030102225.GA8303@sig21.net>
Patchwork-Id: 195409
yann@951
     1
diff -dur strace-4.5.16.orig/linux/syscallent.h strace-4.5.16/linux/syscallent.h
yann@951
     2
--- strace-4.5.16.orig/linux/syscallent.h	2006-10-16 03:17:52.000000000 +0200
yann@951
     3
+++ strace-4.5.16/linux/syscallent.h	2007-07-14 19:30:16.000000000 +0200
yann@951
     4
@@ -130,7 +130,11 @@
yann@951
     5
 	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
yann@951
     6
 	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
yann@951
     7
 	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
yann@951
     8
-	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
yann@951
     9
+	{ 2,	TD,	sys_socketcall,		"socketcall"
yann@951
    10
+#ifdef __NR_socketcall
yann@951
    11
+	    , SYS_socketcall
yann@951
    12
+#endif
yann@951
    13
+								}, /* 102 */
yann@951
    14
 	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
yann@951
    15
 	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
yann@951
    16
 	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
yann@951
    17
@@ -145,7 +149,11 @@
yann@951
    18
 	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
yann@951
    19
 	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
yann@951
    20
 	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
yann@951
    21
-	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
yann@951
    22
+	{ 6,	0,	sys_ipc,		"ipc"
yann@951
    23
+#ifdef __NR_ipc
yann@951
    24
+	    , SYS_ipc
yann@951
    25
+#endif
yann@951
    26
+								}, /* 117 */
yann@951
    27
 	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
yann@951
    28
 	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
yann@951
    29
 	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
yann@951
    30
@@ -282,7 +290,11 @@
yann@951
    31
 	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
yann@951
    32
 	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
yann@951
    33
 	{ 5,	0,	printargs,		"SYS_251"	}, /* 251 */
yann@951
    34
-	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
yann@951
    35
+	{ 1,	TP,	sys_exit,		"exit_group"
yann@951
    36
+#ifdef __NR_exit_group
yann@951
    37
+	    , __NR_exit_group
yann@951
    38
+#endif
yann@951
    39
+								}, /* 252 */
yann@951
    40
 	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
yann@951
    41
 	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
yann@951
    42
 	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */