patches/strace/4.5.18/160-undef-syscall.patch
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Wed Jun 08 15:47:43 2011 +0200 (2011-06-08)
changeset 2508 9e2761e59a75
permissions -rw-r--r--
debug/cross-gdb: check host dependencies

Cross-gdb depends on expat and python. If either is missing, cross-gdb will
build successfully, but lacking some features.

Especially, if expat is missing, cross-gdb will be unable to parse the target
description, which may lead to runtime malfunctions and the following GDB
warning:
"Can not parse XML target description; XML support was disabled at compile time"

Hence, expat should be considered mandatory.

On the other hand, the features missing without python are not critical, so
python should not be considered mandatory.

This patch does the following:
- At configure time, warn the user if either expat or python is missing.
- In menuconfig, disable the static build options regarding cross-gdb if no
static version of expat is available, and disable cross-gdb if expat is
missing.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
[yann.morin.1998@anciens.enib.fr: add comment for impossible static cross-gdb]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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 */