patches/strace/4.5.17/160-undef-syscall.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
parent 747 d3e603e7c17c
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
yann@974
     1
Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/160-undef-syscall.patch
yann@974
     2
-= BEGIN original header =-
yann@428
     3
diff -dur strace-4.5.16.orig/linux/syscallent.h strace-4.5.16/linux/syscallent.h
yann@974
     4
-= END original header =-
yann@974
     5
diff -durN strace-4.5.17.orig/linux/syscallent.h strace-4.5.17/linux/syscallent.h
yann@974
     6
--- strace-4.5.17.orig/linux/syscallent.h	2008-07-18 03:23:49.000000000 +0200
yann@974
     7
+++ strace-4.5.17/linux/syscallent.h	2008-10-24 21:30:13.000000000 +0200
yann@428
     8
@@ -130,7 +130,11 @@
yann@428
     9
 	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
yann@428
    10
 	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
yann@428
    11
 	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
yann@428
    12
-	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
yann@428
    13
+	{ 2,	TD,	sys_socketcall,		"socketcall"
yann@428
    14
+#ifdef __NR_socketcall
yann@428
    15
+	    , SYS_socketcall
yann@428
    16
+#endif
yann@428
    17
+								}, /* 102 */
yann@428
    18
 	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
yann@428
    19
 	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
yann@428
    20
 	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
yann@428
    21
@@ -145,7 +149,11 @@
yann@428
    22
 	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
yann@428
    23
 	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
yann@428
    24
 	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
yann@428
    25
-	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
yann@428
    26
+	{ 6,	0,	sys_ipc,		"ipc"
yann@428
    27
+#ifdef __NR_ipc
yann@428
    28
+	    , SYS_ipc
yann@428
    29
+#endif
yann@428
    30
+								}, /* 117 */
yann@428
    31
 	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
yann@428
    32
 	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
yann@428
    33
 	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
yann@428
    34
@@ -282,7 +290,11 @@
yann@428
    35
 	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
yann@428
    36
 	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
yann@428
    37
 	{ 5,	0,	printargs,		"SYS_251"	}, /* 251 */
yann@428
    38
-	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
yann@428
    39
+	{ 1,	TP,	sys_exit,		"exit_group"
yann@428
    40
+#ifdef __NR_exit_group
yann@428
    41
+	    , __NR_exit_group
yann@428
    42
+#endif
yann@428
    43
+								}, /* 252 */
yann@428
    44
 	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
yann@428
    45
 	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
yann@428
    46
 	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */
yann@974
    47
diff -durN strace-4.5.17.orig/syscall.c strace-4.5.17/syscall.c
yann@974
    48
--- strace-4.5.17.orig/syscall.c	2008-10-24 21:30:13.000000000 +0200
yann@974
    49
+++ strace-4.5.17/syscall.c	2008-10-24 21:30:13.000000000 +0200
yann@974
    50
@@ -2452,14 +2452,18 @@
yann@428
    51
 	switch (known_scno(tcp)) {
yann@428
    52
 #ifdef LINUX
yann@974
    53
 #if !defined (ALPHA) && !defined(MIPS) && !defined(HPPA)
yann@428
    54
+#ifdef __NR_socketcall
yann@428
    55
 	case SYS_socketcall:
yann@428
    56
 		decode_subcall(tcp, SYS_socket_subcall,
yann@428
    57
 			SYS_socket_nsubcalls, deref_style);
yann@428
    58
 		break;
yann@428
    59
+#endif
yann@428
    60
+#ifdef __NR_ipc
yann@428
    61
 	case SYS_ipc:
yann@428
    62
 		decode_subcall(tcp, SYS_ipc_subcall,
yann@428
    63
 			SYS_ipc_nsubcalls, shift_style);
yann@428
    64
 		break;
yann@428
    65
+#endif
yann@974
    66
 #endif /* !(ALPHA || MIPS || HPPA) */
yann@974
    67
 #endif /* LINUX */
yann@974
    68
 #ifdef SVR4