diff options
author | Richard Purdie <richard@openedhand.com> | 2006-12-23 00:22:05 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2006-12-23 00:22:05 +0000 |
commit | 37568a71d07060976b5a3c330ab6f4c2c7e1a87e (patch) | |
tree | 9957336a057303677b2ce61d2a6cd01b55549eda /meta/packages/strace | |
parent | ae60cc23f955d0f8feb68a46ef301b4f1e682a08 (diff) | |
download | poky-37568a71d07060976b5a3c330ab6f4c2c7e1a87e.tar.gz |
Add strace 4.5.14 (with EABI fixes)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1087 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/strace')
-rw-r--r-- | meta/packages/strace/strace-4.5.14/arm-eabi.patch | 65 | ||||
-rw-r--r-- | meta/packages/strace/strace-4.5.14/drop-ctl-proc.patch | 12 | ||||
-rw-r--r-- | meta/packages/strace/strace-4.5.14/glibc-2.5.patch | 11 | ||||
-rw-r--r-- | meta/packages/strace/strace-4.5.14/sh-arch-update.patch | 21 | ||||
-rw-r--r-- | meta/packages/strace/strace-4.5.14/sh-syscall-update.patch | 268 | ||||
-rw-r--r-- | meta/packages/strace/strace/arm-compilation.patch | 10 | ||||
-rw-r--r-- | meta/packages/strace/strace/arm-syscall.patch | 16 | ||||
-rw-r--r-- | meta/packages/strace/strace/strace-fix-arm-bad-syscall.patch | 18 | ||||
-rw-r--r-- | meta/packages/strace/strace_4.5.14.bb | 16 |
9 files changed, 437 insertions, 0 deletions
diff --git a/meta/packages/strace/strace-4.5.14/arm-eabi.patch b/meta/packages/strace/strace-4.5.14/arm-eabi.patch new file mode 100644 index 0000000000..53e27f8ce8 --- /dev/null +++ b/meta/packages/strace/strace-4.5.14/arm-eabi.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | 2006-03-30 Daniel Jacobowitz <dan@codesourcery.com> | ||
2 | |||
3 | * process.c (change_syscall): Add ARM support. | ||
4 | * syscall.c (get_scno): Handle ARM EABI. | ||
5 | |||
6 | Index: strace/process.c | ||
7 | =================================================================== | ||
8 | --- strace.orig/process.c 2006-03-30 17:36:14.000000000 -0500 | ||
9 | +++ strace/process.c 2006-03-30 17:44:16.000000000 -0500 | ||
10 | @@ -694,6 +694,16 @@ int new; | ||
11 | 0x100000 | new) < 0) | ||
12 | return -1; | ||
13 | return 0; | ||
14 | +#elif defined(ARM) | ||
15 | + /* Some kernels support this, some (pre-2.6.16 or so) don't. */ | ||
16 | +# ifndef PTRACE_SET_SYSCALL | ||
17 | +# define PTRACE_SET_SYSCALL 23 | ||
18 | +# endif | ||
19 | + | ||
20 | + if (ptrace (PTRACE_SET_SYSCALL, tcp->pid, 0, new) != 0) | ||
21 | + return -1; | ||
22 | + | ||
23 | + return 0; | ||
24 | #else | ||
25 | #warning Do not know how to handle change_syscall for this architecture | ||
26 | #endif /* architecture */ | ||
27 | Index: strace/syscall.c | ||
28 | =================================================================== | ||
29 | --- strace.orig/syscall.c 2006-03-30 17:36:14.000000000 -0500 | ||
30 | +++ strace/syscall.c 2006-03-30 17:44:16.000000000 -0500 | ||
31 | @@ -1108,16 +1108,25 @@ struct tcb *tcp; | ||
32 | return 0; | ||
33 | } | ||
34 | |||
35 | - if ((scno & 0x0ff00000) != 0x0f900000) { | ||
36 | - fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", | ||
37 | - scno); | ||
38 | - return -1; | ||
39 | - } | ||
40 | + /* Handle the EABI syscall convention. We do not | ||
41 | + bother converting structures between the two | ||
42 | + ABIs, but basic functionality should work even | ||
43 | + if strace and the traced program have different | ||
44 | + ABIs. */ | ||
45 | + if (scno == 0xef000000) { | ||
46 | + scno = regs.ARM_r7; | ||
47 | + } else { | ||
48 | + if ((scno & 0x0ff00000) != 0x0f900000) { | ||
49 | + fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", | ||
50 | + scno); | ||
51 | + return -1; | ||
52 | + } | ||
53 | |||
54 | - /* | ||
55 | - * Fixup the syscall number | ||
56 | - */ | ||
57 | - scno &= 0x000fffff; | ||
58 | + /* | ||
59 | + * Fixup the syscall number | ||
60 | + */ | ||
61 | + scno &= 0x000fffff; | ||
62 | + } | ||
63 | } | ||
64 | |||
65 | if (tcp->flags & TCB_INSYSCALL) { | ||
diff --git a/meta/packages/strace/strace-4.5.14/drop-ctl-proc.patch b/meta/packages/strace/strace-4.5.14/drop-ctl-proc.patch new file mode 100644 index 0000000000..468913774a --- /dev/null +++ b/meta/packages/strace/strace-4.5.14/drop-ctl-proc.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Index: strace-4.5.14/system.c | ||
2 | =================================================================== | ||
3 | --- strace-4.5.14.orig/system.c 2006-10-01 13:02:08.000000000 +0200 | ||
4 | +++ strace-4.5.14/system.c 2006-10-01 13:02:27.000000000 +0200 | ||
5 | @@ -1578,7 +1578,6 @@ | ||
6 | { CTL_KERN, "CTL_KERN" }, | ||
7 | { CTL_VM, "CTL_VM" }, | ||
8 | { CTL_NET, "CTL_NET" }, | ||
9 | - { CTL_PROC, "CTL_PROC" }, | ||
10 | { CTL_FS, "CTL_FS" }, | ||
11 | { CTL_DEBUG, "CTL_DEBUG" }, | ||
12 | { CTL_DEV, "CTL_DEV" }, | ||
diff --git a/meta/packages/strace/strace-4.5.14/glibc-2.5.patch b/meta/packages/strace/strace-4.5.14/glibc-2.5.patch new file mode 100644 index 0000000000..3ee6b3de75 --- /dev/null +++ b/meta/packages/strace/strace-4.5.14/glibc-2.5.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- strace-4.5.14/strace.c~ 2006-10-14 14:54:54.000000000 +1000 | ||
2 | +++ strace-4.5.14/strace.c 2006-10-14 14:54:54.000000000 +1000 | ||
3 | @@ -2251,7 +2251,7 @@ | ||
4 | if (!cflag | ||
5 | && (qual_flags[WSTOPSIG(status)] & QUAL_SIGNAL)) { | ||
6 | unsigned long addr = 0, pc = 0; | ||
7 | -#ifdef PT_GETSIGINFO | ||
8 | +#if defined(PT_GETSIGINFO) && defined(IA64) | ||
9 | # define PSR_RI 41 | ||
10 | struct siginfo si; | ||
11 | unsigned long psr; | ||
diff --git a/meta/packages/strace/strace-4.5.14/sh-arch-update.patch b/meta/packages/strace/strace-4.5.14/sh-arch-update.patch new file mode 100644 index 0000000000..e40673a616 --- /dev/null +++ b/meta/packages/strace/strace-4.5.14/sh-arch-update.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | Strace doesn't know that sh3 and sh4 should be treated as sh and sh5 as | ||
2 | sh64. Originally this was solved by ac_cv_host in the site files, however | ||
3 | doing it in the site file breaks the glibc build, so teach strace about them | ||
4 | instead. | ||
5 | |||
6 | --- strace-4.5.14/configure.ac 2006/05/11 07:12:05 1.1 | ||
7 | +++ strace-4.5.14/configure.ac 2006/05/11 07:15:42 | ||
8 | @@ -91,11 +91,11 @@ | ||
9 | arch=hppa | ||
10 | AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.]) | ||
11 | ;; | ||
12 | -sh) | ||
13 | +sh|sh3*|sh4*) | ||
14 | arch=sh | ||
15 | AC_DEFINE([SH], 1, [Define for the SH architecture.]) | ||
16 | ;; | ||
17 | -sh64) | ||
18 | +sh64|sh5*) | ||
19 | arch=sh64 | ||
20 | AC_DEFINE([SH64], 1, [Define for the SH64 architecture.]) | ||
21 | ;; | ||
diff --git a/meta/packages/strace/strace-4.5.14/sh-syscall-update.patch b/meta/packages/strace/strace-4.5.14/sh-syscall-update.patch new file mode 100644 index 0000000000..15102934e7 --- /dev/null +++ b/meta/packages/strace/strace-4.5.14/sh-syscall-update.patch | |||
@@ -0,0 +1,268 @@ | |||
1 | --- strace/linux/sh/syscallent.h 2006/07/03 04:32:27 1.1 | ||
2 | +++ strace/linux/sh/syscallent.h 2006/07/03 05:29:55 | ||
3 | @@ -46,7 +46,7 @@ | ||
4 | { 1, 0, sys_time, "time" }, /* 13 */ | ||
5 | { 3, TF, sys_mknod, "mknod" }, /* 14 */ | ||
6 | { 2, TF, sys_chmod, "chmod" }, /* 15 */ | ||
7 | - { 3, TF, sys_chown, "lchown" }, /* 16 */ | ||
8 | + { 3, TF, sys_chown, "lchown" }, /* 16 */ | ||
9 | { 0, 0, sys_break, "break" }, /* 17 */ | ||
10 | { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ | ||
11 | { 3, TD, sys_lseek, "lseek" }, /* 19 */ | ||
12 | @@ -229,109 +229,157 @@ | ||
13 | { 2, TF, sys_stat64, "stat64" }, /* 195 */ | ||
14 | { 2, TF, sys_lstat64, "lstat64" }, /* 196 */ | ||
15 | { 2, TD, sys_fstat64, "fstat64" }, /* 197 */ | ||
16 | -/*TODO*/{ 3, TF, printargs, "lchown32" }, /* 198 */ | ||
17 | -/*TODO*/{ 0, 0, printargs, "getuid32" }, /* 199 */ | ||
18 | + { 3, TF, sys_chown, "lchown32" }, /* 198 */ | ||
19 | + { 0, 0, sys_getuid, "getuid32" }, /* 199 */ | ||
20 | |||
21 | - { 0, 0, printargs, "getgid32" }, /* 200 */ | ||
22 | - { 0, 0, printargs, "geteuid32" }, /* 201 */ | ||
23 | - { 0, 0, printargs, "getegid32" }, /* 202 */ | ||
24 | - { 2, 0, printargs, "setreuid32" }, /* 203 */ | ||
25 | - { 2, 0, printargs, "setregid32" }, /* 204 */ | ||
26 | - { 2, 0, sys_getgroups32, "getgroups32" }, /* 205 */ | ||
27 | - { 2, 0, sys_setgroups32, "setgroups32" }, /* 206 */ | ||
28 | - { 3, 0, printargs, "fchown32" }, /* 207 */ | ||
29 | - { 3, 0, printargs, "setresuid32" }, /* 208 */ | ||
30 | - { 3, 0, printargs, "getresuid32" }, /* 209 */ | ||
31 | - { 3, 0, printargs, "setresgid32" }, /* 210 */ | ||
32 | - { 3, 0, printargs, "getsetgid32" }, /* 211 */ | ||
33 | - { 3, TF, printargs, "chown32" }, /* 212 */ | ||
34 | - { 1, 0, printargs, "setuid32" }, /* 213 */ | ||
35 | - { 1, 0, printargs, "setgid32" }, /* 214 */ | ||
36 | - { 1, 0, printargs, "setfsuid32" }, /* 215 */ | ||
37 | - { 1, 0, printargs, "setfsgid32" }, /* 216 */ | ||
38 | + { 0, 0, sys_getgid, "getgid32" }, /* 200 */ | ||
39 | + { 0, 0, sys_geteuid, "geteuid32" }, /* 201 */ | ||
40 | + { 0, 0, sys_getegid, "getegid32" }, /* 202 */ | ||
41 | + { 2, 0, sys_setreuid, "setreuid32" }, /* 203 */ | ||
42 | + { 2, 0, sys_setregid, "setregid32" }, /* 204 */ | ||
43 | + { 2, 0, sys_getgroups, "getgroups32" }, /* 205 */ | ||
44 | + { 2, 0, sys_setgroups, "setgroups32" }, /* 206 */ | ||
45 | + { 3, 0, sys_fchown, "fchown32" }, /* 207 */ | ||
46 | + { 3, 0, sys_setresuid, "setresuid32" }, /* 208 */ | ||
47 | + { 3, 0, sys_getresuid, "getresuid32" }, /* 209 */ | ||
48 | + { 3, 0, sys_setresgid, "setresgid32" }, /* 210 */ | ||
49 | + { 3, 0, sys_getresgid, "getsetgid32" }, /* 211 */ | ||
50 | + { 3, TF, sys_chown, "chown32" }, /* 212 */ | ||
51 | + { 1, 0, sys_setuid, "setuid32" }, /* 213 */ | ||
52 | + { 1, 0, sys_setgid, "setgid32" }, /* 214 */ | ||
53 | + { 1, 0, sys_setfsuid, "setfsuid32" }, /* 215 */ | ||
54 | + { 1, 0, sys_setfsgid, "setfsgid32" }, /* 216 */ | ||
55 | { 2, TF, sys_pivotroot, "pivot_root" }, /* 217 */ | ||
56 | - { 3, 0, printargs, "mincore" }, /* 218 */ | ||
57 | + { 3, 0, sys_mincore, "mincore" }, /* 218 */ | ||
58 | { 3, 0, sys_madvise, "madvise" }, /* 219 */ | ||
59 | - { 4, 0, printargs, "getdents64" }, /* 220 */ | ||
60 | + { 4, 0, sys_getdents64, "getdents64" }, /* 220 */ | ||
61 | { 3, TD, sys_fcntl, "fcntl64" }, /* 221 */ | ||
62 | { 4, 0, printargs, "SYS_222" }, /* 222 */ | ||
63 | - { 4, 0, printargs, "SYS_223" }, /* 223 */ | ||
64 | - { 4, 0, printargs, "SYS_224" }, /* 224 */ | ||
65 | - { 5, 0, printargs, "SYS_225" }, /* 225 */ | ||
66 | - { 5, 0, printargs, "SYS_226" }, /* 226 */ | ||
67 | - { 5, 0, printargs, "SYS_227" }, /* 227 */ | ||
68 | - { 5, 0, printargs, "SYS_228" }, /* 228 */ | ||
69 | - { 5, 0, printargs, "SYS_229" }, /* 229 */ | ||
70 | - | ||
71 | - { 8, 0, printargs, "socket_subcall"}, /* 230 */ | ||
72 | - { 3, TN, sys_socket, "socket" }, /* 231 */ | ||
73 | - { 3, TN, sys_bind, "bind" }, /* 232 */ | ||
74 | - { 3, TN, sys_connect, "connect" }, /* 233 */ | ||
75 | - { 2, TN, sys_listen, "listen" }, /* 234 */ | ||
76 | - { 3, TN, sys_accept, "accept" }, /* 235 */ | ||
77 | - { 3, TN, sys_getsockname, "getsockname" }, /* 236 */ | ||
78 | - { 3, TN, sys_getpeername, "getpeername" }, /* 237 */ | ||
79 | - { 4, TN, sys_socketpair, "socketpair" }, /* 238 */ | ||
80 | - { 4, TN, sys_send, "send" }, /* 239 */ | ||
81 | - { 4, TN, sys_recv, "recv" }, /* 240 */ | ||
82 | - { 6, TN, sys_sendto, "sendto" }, /* 241 */ | ||
83 | - { 6, TN, sys_recvfrom, "recvfrom" }, /* 242 */ | ||
84 | - { 2, TN, sys_shutdown, "shutdown" }, /* 243 */ | ||
85 | - { 5, TN, sys_setsockopt, "setsockopt" }, /* 244 */ | ||
86 | - { 5, TN, sys_getsockopt, "getsockopt" }, /* 245 */ | ||
87 | - { 5, TN, sys_sendmsg, "sendmsg" }, /* 246 */ | ||
88 | - { 5, TN, sys_recvmsg, "recvmsg" }, /* 247 */ | ||
89 | - { 5, 0, printargs, "SYS_248" }, /* 248 */ | ||
90 | - { 5, 0, printargs, "SYS_249" }, /* 249 */ | ||
91 | - | ||
92 | - { 4, 0, printargs, "ipc_subcall" }, /* 250 */ | ||
93 | - { 4, TI, sys_semop, "semop" }, /* 251 */ | ||
94 | - { 4, TI, sys_semget, "semget" }, /* 252 */ | ||
95 | - { 4, TI, sys_semctl, "semctl" }, /* 253 */ | ||
96 | - { 4, 0, printargs, "ipc_subcall" }, /* 254 */ | ||
97 | - { 4, 0, printargs, "ipc_subcall" }, /* 255 */ | ||
98 | - { 4, 0, printargs, "ipc_subcall" }, /* 256 */ | ||
99 | - { 4, 0, printargs, "ipc_subcall" }, /* 257 */ | ||
100 | - { 4, 0, printargs, "ipc_subcall" }, /* 258 */ | ||
101 | - { 4, 0, printargs, "ipc_subcall" }, /* 259 */ | ||
102 | - { 4, 0, printargs, "ipc_subcall" }, /* 260 */ | ||
103 | - { 4, TI, sys_msgsnd, "msgsnd" }, /* 261 */ | ||
104 | - { 4, TI, sys_msgrcv, "msgrcv" }, /* 262 */ | ||
105 | - { 4, TI, sys_msgget, "msgget" }, /* 263 */ | ||
106 | - { 4, TI, sys_msgctl, "msgctl" }, /* 264 */ | ||
107 | - { 4, 0, printargs, "ipc_subcall" }, /* 265 */ | ||
108 | - { 4, 0, printargs, "ipc_subcall" }, /* 266 */ | ||
109 | - { 4, 0, printargs, "ipc_subcall" }, /* 267 */ | ||
110 | - { 4, 0, printargs, "ipc_subcall" }, /* 268 */ | ||
111 | - { 4, 0, printargs, "ipc_subcall" }, /* 269 */ | ||
112 | - { 4, 0, printargs, "ipc_subcall" }, /* 270 */ | ||
113 | - { 4, TI, sys_shmat, "shmat" }, /* 271 */ | ||
114 | - { 4, TI, sys_shmdt, "shmdt" }, /* 272 */ | ||
115 | - { 4, TI, sys_shmget, "shmget" }, /* 273 */ | ||
116 | - { 4, TI, sys_shmctl, "shmctl" }, /* 274 */ | ||
117 | - { 5, 0, printargs, "SYS_275" }, /* 275 */ | ||
118 | - { 5, 0, printargs, "SYS_276" }, /* 276 */ | ||
119 | - { 5, 0, printargs, "SYS_277" }, /* 277 */ | ||
120 | - { 5, 0, printargs, "SYS_278" }, /* 278 */ | ||
121 | - { 5, 0, printargs, "SYS_279" }, /* 279 */ | ||
122 | - | ||
123 | - { 8, 0, printargs, "socket_subcall"}, /* 280 */ | ||
124 | - { 3, TN, sys_socket, "socket" }, /* 281 */ | ||
125 | - { 3, TN, sys_bind, "bind" }, /* 282 */ | ||
126 | - { 3, TN, sys_connect, "connect" }, /* 283 */ | ||
127 | - { 2, TN, sys_listen, "listen" }, /* 284 */ | ||
128 | - { 3, TN, sys_accept, "accept" }, /* 285 */ | ||
129 | - { 3, TN, sys_getsockname, "getsockname" }, /* 286 */ | ||
130 | - { 3, TN, sys_getpeername, "getpeername" }, /* 287 */ | ||
131 | - { 4, TN, sys_socketpair, "socketpair" }, /* 288 */ | ||
132 | - { 4, TN, sys_send, "send" }, /* 289 */ | ||
133 | - { 4, TN, sys_recv, "recv" }, /* 290 */ | ||
134 | - { 6, TN, sys_sendto, "sendto" }, /* 291 */ | ||
135 | - { 6, TN, sys_recvfrom, "recvfrom" }, /* 292 */ | ||
136 | - { 2, TN, sys_shutdown, "shutdown" }, /* 293 */ | ||
137 | - { 5, TN, sys_setsockopt, "setsockopt" }, /* 294 */ | ||
138 | - { 5, TN, sys_getsockopt, "getsockopt" }, /* 295 */ | ||
139 | - { 5, TN, sys_sendmsg, "sendmsg" }, /* 296 */ | ||
140 | - { 5, TN, sys_recvmsg, "recvmsg" }, /* 297 */ | ||
141 | + { 5, 0, printargs, "SYS_223" }, /* 223 */ | ||
142 | + { 0, 0, printargs, "gettid" }, /* 224 */ | ||
143 | + { 4, TD, sys_readahead, "readahead" }, /* 225 */ | ||
144 | + { 5, TF, sys_setxattr, "setxattr" }, /* 226 */ | ||
145 | + { 5, TF, sys_setxattr, "lsetxattr" }, /* 227 */ | ||
146 | + { 5, TD, sys_fsetxattr, "fsetxattr" }, /* 228 */ | ||
147 | + { 4, TF, sys_getxattr, "getxattr" }, /* 229 */ | ||
148 | + { 4, TF, sys_getxattr, "lgetxattr" }, /* 230 */ | ||
149 | + { 4, 0, sys_fgetxattr, "fgetxattr" }, /* 231 */ | ||
150 | + { 3, TF, sys_listxattr, "listxattr" }, /* 232 */ | ||
151 | + { 3, TF, sys_listxattr, "llistxattr" }, /* 233 */ | ||
152 | + { 3, 0, sys_flistxattr, "flistxattr" }, /* 234 */ | ||
153 | + { 2, TF, sys_removexattr, "removexattr" }, /* 235 */ | ||
154 | + { 2, TF, sys_removexattr, "lremovexattr" }, /* 236 */ | ||
155 | + { 2, 0, sys_fremovexattr, "fremovexattr" }, /* 237 */ | ||
156 | + { 2, TS, sys_kill, "tkill" }, /* 238 */ | ||
157 | + { 4, TF, sys_sendfile64, "sendfile64" }, /* 239 */ | ||
158 | + { 5, 0, sys_futex, "futex" }, /* 240 */ | ||
159 | + { 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 241 */ | ||
160 | + { 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 242 */ | ||
161 | + { 1, 0, printargs, "set_thread_area" }, /* 243 */ | ||
162 | + { 1, 0, printargs, "get_thread_area" }, /* 244 */ | ||
163 | + { 2, 0, sys_io_setup, "io_setup" }, /* 245 */ | ||
164 | + { 1, 0, sys_io_destroy, "io_destroy" }, /* 246 */ | ||
165 | + { 5, 0, sys_io_getevents, "io_getevents" }, /* 247 */ | ||
166 | + { 3, 0, sys_io_submit, "io_submit" }, /* 248 */ | ||
167 | + { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */ | ||
168 | + { 5, 0, sys_fadvise64, "fadvise64" }, /* 250 */ | ||
169 | + { 5, 0, printargs, "SYS_251" }, /* 251 */ | ||
170 | + { 1, TP, sys_exit, "exit_group" }, /* 252 */ | ||
171 | + { 4, 0, printargs, "lookup_dcookie"}, /* 253 */ | ||
172 | + { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */ | ||
173 | + { 4, 0, sys_epoll_ctl, "epoll_ctl" }, /* 255 */ | ||
174 | + { 4, 0, sys_epoll_wait, "epoll_wait" }, /* 256 */ | ||
175 | + { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 257 */ | ||
176 | + { 1, 0, printargs, "set_tid_address"}, /* 258 */ | ||
177 | + { 3, 0, sys_timer_create, "timer_create" }, /* 259 */ | ||
178 | + { 4, 0, sys_timer_settime, "timer_settime" }, /* 260 */ | ||
179 | + { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 261 */ | ||
180 | + { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 262 */ | ||
181 | + { 1, 0, sys_timer_delete, "timer_delete" }, /* 263 */ | ||
182 | + { 2, 0, sys_clock_settime, "clock_settime" }, /* 264 */ | ||
183 | + { 2, 0, sys_clock_gettime, "clock_gettime" }, /* 265 */ | ||
184 | + { 2, 0, sys_clock_getres, "clock_getres" }, /* 266 */ | ||
185 | + { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 267 */ | ||
186 | + { 3, TF, sys_statfs64, "statfs64" }, /* 268 */ | ||
187 | + { 3, 0, sys_fstatfs64, "fstatfs64" }, /* 269 */ | ||
188 | + { 3, TS, sys_tgkill, "tgkill" }, /* 270 */ | ||
189 | + { 2, TF, sys_utimes, "utimes" }, /* 271 */ | ||
190 | + { 6, 0, sys_fadvise64_64, "fadvise64_64" }, /* 272 */ | ||
191 | + { 5, 0, printargs, "vserver" }, /* 273 */ | ||
192 | + { 5, 0, printargs, "mbind" }, /* 274 */ | ||
193 | + { 5, 0, printargs, "get_mempolicy" }, /* 275 */ | ||
194 | + { 5, 0, printargs, "set_mempolicy" }, /* 276 */ | ||
195 | + { 4, 0, sys_mq_open, "mq_open" }, /* 277 */ | ||
196 | + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */ | ||
197 | + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */ | ||
198 | + { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 280 */ | ||
199 | + { 2, 0, sys_mq_notify, "mq_notify" }, /* 281 */ | ||
200 | + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 282 */ | ||
201 | + { 5, 0, printargs, "sys_kexec_load"}, /* 283 */ | ||
202 | + { 5, TP, sys_waitid, "waitid" }, /* 284 */ | ||
203 | + { 5, 0, printargs, "add_key" }, /* 285 */ | ||
204 | + { 5, 0, printargs, "request_key" }, /* 286 */ | ||
205 | + { 5, 0, printargs, "keyctl" }, /* 287 */ | ||
206 | + { 5, 0, printargs, "ioprio_set" }, /* 288 */ | ||
207 | + { 5, 0, printargs, "ioprio_get" }, /* 289 */ | ||
208 | + { 5, 0, printargs, "inotify_init" }, /* 290 */ | ||
209 | + { 5, 0, printargs, "inotify_add_watch" }, /* 291 */ | ||
210 | + { 5, 0, printargs, "inotify_rm_watch" }, /* 292 */ | ||
211 | + { 5, 0, printargs, "SYS_293" }, /* 293 */ | ||
212 | + { 5, 0, printargs, "SYS_294" }, /* 294 */ | ||
213 | + { 5, 0, printargs, "SYS_295" }, /* 295 */ | ||
214 | + { 5, 0, printargs, "SYS_296" }, /* 296 */ | ||
215 | + { 5, 0, printargs, "SYS_297" }, /* 297 */ | ||
216 | { 5, 0, printargs, "SYS_298" }, /* 298 */ | ||
217 | { 5, 0, printargs, "SYS_299" }, /* 299 */ | ||
218 | + | ||
219 | +#if SYS_socket_subcall != 300 | ||
220 | + #error fix me | ||
221 | +#endif | ||
222 | + { 8, 0, printargs, "socket_subcall"}, /* 300 */ | ||
223 | + { 3, TN, sys_socket, "socket" }, /* 301 */ | ||
224 | + { 3, TN, sys_bind, "bind" }, /* 302 */ | ||
225 | + { 3, TN, sys_connect, "connect" }, /* 303 */ | ||
226 | + { 2, TN, sys_listen, "listen" }, /* 304 */ | ||
227 | + { 3, TN, sys_accept, "accept" }, /* 305 */ | ||
228 | + { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ | ||
229 | + { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ | ||
230 | + { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ | ||
231 | + { 4, TN, sys_send, "send" }, /* 309 */ | ||
232 | + { 4, TN, sys_recv, "recv" }, /* 310 */ | ||
233 | + { 6, TN, sys_sendto, "sendto" }, /* 311 */ | ||
234 | + { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ | ||
235 | + { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ | ||
236 | + { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ | ||
237 | + { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ | ||
238 | + { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ | ||
239 | + { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ | ||
240 | + | ||
241 | +#if SYS_ipc_subcall != 318 | ||
242 | + #error fix me | ||
243 | +#endif | ||
244 | + { 4, 0, printargs, "ipc_subcall" }, /* 318 */ | ||
245 | + { 4, TI, sys_semop, "semop" }, /* 319 */ | ||
246 | + { 4, TI, sys_semget, "semget" }, /* 320 */ | ||
247 | + { 4, TI, sys_semctl, "semctl" }, /* 321 */ | ||
248 | + { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ | ||
249 | + { 4, 0, printargs, "ipc_subcall" }, /* 323 */ | ||
250 | + { 4, 0, printargs, "ipc_subcall" }, /* 324 */ | ||
251 | + { 4, 0, printargs, "ipc_subcall" }, /* 325 */ | ||
252 | + { 4, 0, printargs, "ipc_subcall" }, /* 326 */ | ||
253 | + { 4, 0, printargs, "ipc_subcall" }, /* 327 */ | ||
254 | + { 4, 0, printargs, "ipc_subcall" }, /* 328 */ | ||
255 | + { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ | ||
256 | + { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ | ||
257 | + { 4, TI, sys_msgget, "msgget" }, /* 331 */ | ||
258 | + { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ | ||
259 | + { 4, 0, printargs, "ipc_subcall" }, /* 333 */ | ||
260 | + { 4, 0, printargs, "ipc_subcall" }, /* 334 */ | ||
261 | + { 4, 0, printargs, "ipc_subcall" }, /* 335 */ | ||
262 | + { 4, 0, printargs, "ipc_subcall" }, /* 336 */ | ||
263 | + { 4, 0, printargs, "ipc_subcall" }, /* 337 */ | ||
264 | + { 4, 0, printargs, "ipc_subcall" }, /* 338 */ | ||
265 | + { 4, TI, sys_shmat, "shmat" }, /* 339 */ | ||
266 | + { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ | ||
267 | + { 4, TI, sys_shmget, "shmget" }, /* 341 */ | ||
268 | + { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ | ||
diff --git a/meta/packages/strace/strace/arm-compilation.patch b/meta/packages/strace/strace/arm-compilation.patch new file mode 100644 index 0000000000..9dd7133ce1 --- /dev/null +++ b/meta/packages/strace/strace/arm-compilation.patch | |||
@@ -0,0 +1,10 @@ | |||
1 | --- strace-4.4.98/syscall.c~arm-compilation 2003-06-04 01:29:04.000000000 +0200 | ||
2 | +++ strace-4.4.98/syscall.c 2003-09-01 00:13:02.000000000 +0200 | ||
3 | @@ -696,6 +696,7 @@ | ||
4 | static int d0; | ||
5 | #elif defined (ARM) | ||
6 | static struct pt_regs regs; | ||
7 | + static long r0; | ||
8 | #elif defined (ALPHA) | ||
9 | static long r0; | ||
10 | static long a3; | ||
diff --git a/meta/packages/strace/strace/arm-syscall.patch b/meta/packages/strace/strace/arm-syscall.patch new file mode 100644 index 0000000000..952d09bb24 --- /dev/null +++ b/meta/packages/strace/strace/arm-syscall.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
4 | # | ||
5 | |||
6 | --- /dev/null | ||
7 | +++ strace-4.4.98/linux/arm/syscall.h | ||
8 | @@ -0,0 +1,2 @@ | ||
9 | +#include "../syscall.h" | ||
10 | +#include "dummy.h" | ||
11 | --- /dev/null | ||
12 | +++ strace-4.4.98/linux/arm/dummy.h | ||
13 | @@ -0,0 +1,3 @@ | ||
14 | +#include "../dummy.h" | ||
15 | +#undef SYS_waitpid | ||
16 | +#define sys_waitpid printargs | ||
diff --git a/meta/packages/strace/strace/strace-fix-arm-bad-syscall.patch b/meta/packages/strace/strace/strace-fix-arm-bad-syscall.patch new file mode 100644 index 0000000000..d7d7426b74 --- /dev/null +++ b/meta/packages/strace/strace/strace-fix-arm-bad-syscall.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | --- strace-4.5.12-orig/syscall.c 2005-06-08 21:45:28.000000000 +0100 | ||
2 | +++ strace-4.5.12/syscall.c 2005-10-25 19:26:39.000000000 +0100 | ||
3 | @@ -1013,6 +1013,15 @@ struct tcb *tcp; | ||
4 | /* | ||
5 | * Note: we only deal with only 32-bit CPUs here. | ||
6 | */ | ||
7 | + | ||
8 | + if (!(tcp->flags & TCB_INSYSCALL) && | ||
9 | + (tcp->flags & TCB_WAITEXECVE)) { | ||
10 | + /* caught a fake syscall from the execve's exit */ | ||
11 | + tcp->flags &= ~TCB_WAITEXECVE; | ||
12 | + return 0; | ||
13 | + } | ||
14 | + | ||
15 | + | ||
16 | if (regs.ARM_cpsr & 0x20) { | ||
17 | /* | ||
18 | * Get the Thumb-mode system call number | ||
diff --git a/meta/packages/strace/strace_4.5.14.bb b/meta/packages/strace/strace_4.5.14.bb new file mode 100644 index 0000000000..b301d0100b --- /dev/null +++ b/meta/packages/strace/strace_4.5.14.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | DESCRIPTION = "strace is a system call tracing tool." | ||
2 | SECTION = "console/utils" | ||
3 | LICENSE = "GPL" | ||
4 | PR = "r4" | ||
5 | |||
6 | SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \ | ||
7 | file://glibc-2.5.patch;patch=1 \ | ||
8 | file://arm-eabi.patch;patch=1 \ | ||
9 | file://drop-ctl-proc.patch;patch=1 \ | ||
10 | file://sh-arch-update.patch;patch=1 \ | ||
11 | file://sh-syscall-update.patch;patch=1 \ | ||
12 | file://strace-fix-arm-bad-syscall.patch;patch=1" | ||
13 | |||
14 | inherit autotools | ||
15 | |||
16 | export INCLUDES = "-I. -I./linux" | ||