2003-06-26 Roland McGrath <roland@redhat.com>

* process.c [LINUX] (sys_futex): Grok FUTEX_REQUEUE and print 5th arg.
	* linux/syscallent.h: sys_futex argument count is now 5, not 4.
	* linux/ia64/syscallent.h: Likewise.
	* linux/powerpc/syscallent.h: Likewise.
	* linux/s390/syscallent.h: Likewise.
	* linux/s390x/syscallent.h: Likewise.
	* linux/x86_64/syscallent.h: Likewise.
	From Jakub Jelinek <jakub@redhat.com>.
This commit is contained in:
Roland McGrath 2003-06-26 22:27:23 +00:00
parent 9df23f9a37
commit 88812d685d
7 changed files with 13 additions and 8 deletions

View File

@ -1133,7 +1133,7 @@
{ 2, TF, sys_removexattr, "lremovexattr" }, /* 1227 */
{ 2, 0, sys_removexattr, "fremovexattr" }, /* 1228 */
{ 2, TS, sys_kill, "tkill" }, /* 1229 */
{ 4, 0, sys_futex, "futex" }, /* 1230 */
{ 5, 0, sys_futex, "futex" }, /* 1230 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity"},/* 1231 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity"},/* 1232 */
{ 1, 0, printargs, "set_tid_address"}, /* 1233 */

View File

@ -250,7 +250,7 @@
{ 2, TF, sys_removexattr, "removexattr" }, /* 218 */
{ 2, TF, sys_removexattr, "lremovexattr" }, /* 219 */
{ 2, 0, sys_fremovexattr, "fremovexattr" }, /* 220 */
{ 4, 0, sys_futex, "futex" }, /* 221 */
{ 5, 0, sys_futex, "futex" }, /* 221 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity" }, /* 222 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity" }, /* 223 */
{ 5, 0, printargs, "SYS_224" }, /* 224 */

View File

@ -266,7 +266,7 @@
{ 2, 0, sys_fremovexattr, "fremovexattr" }, /* 235 */
{ 0, 0, printargs, "gettid" }, /* 236 */
{ 2, TS, sys_kill, "tkill" }, /* 237 */
{ 4, 0, sys_futex, "futex" }, /* 238 */
{ 5, 0, sys_futex, "futex" }, /* 238 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 239 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 240 */
{ -1, 0, printargs, "SYS_241" }, /* 241 */

View File

@ -265,7 +265,7 @@
{ 2, 0, sys_fremovexattr, "fremovexattr" }, /* 235 */
{ 0, 0, printargs, "gettid" }, /* 236 */
{ 2, TS, sys_kill, "tkill" }, /* 237 */
{ 4, 0, sys_futex, "futex" }, /* 238 */
{ 5, 0, sys_futex, "futex" }, /* 238 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 239 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 240 */
{ -1, 0, printargs, "SYS_241" }, /* 241 */

View File

@ -286,7 +286,7 @@
{ 2, 0, sys_fremovexattr, "fremovexattr" }, /* 237 */
{ 2, TS, sys_kill, "tkill" }, /* 238 */
{ 4, TF, sys_sendfile64, "sendfile64" }, /* 239 */
{ 4, 0, sys_futex, "futex" }, /* 240 */
{ 5, 0, sys_futex, "futex" }, /* 240 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 241 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 242 */
{ 1, 0, sys_set_thread_area, "set_thread_area" }, /* 243 */

View File

@ -200,7 +200,7 @@
{ 2, 0, sys_fremovexattr, "fremovexattr" }, /* 199 */
{ 2, 0, sys_kill, "tkill" }, /* 200 */
{ 1, 0, sys_time, "time" }, /* 201 */
{ 4, 0, sys_futex, "futex" }, /* 202 */
{ 5, 0, sys_futex, "futex" }, /* 202 */
{ 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 203 */
{ 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 204 */
{ 1, 0, sys_set_thread_area, "set_thread_area" }, /* 205 */

View File

@ -98,6 +98,9 @@
# ifndef FUTEX_FD
# define FUTEX_FD 2
# endif
# ifndef FUTEX_REQUEUE
# define FUTEX_REQUEUE 3
# endif
#endif
#ifdef LINUX
@ -2828,6 +2831,7 @@ static struct xlat futexops[] = {
{ FUTEX_WAIT, "FUTEX_WAIT" },
{ FUTEX_WAKE, "FUTEX_WAKE" },
{ FUTEX_FD, "FUTEX_FD" },
{ FUTEX_REQUEUE,"FUTEX_REQUEUE" },
{ 0, NULL }
};
@ -2837,12 +2841,13 @@ struct tcb *tcp;
{
if (entering(tcp)) {
tprintf("%p, ", (void *) tcp->u_arg[0]);
printflags(futexops, tcp->u_arg[1]);
printxval(futexops, tcp->u_arg[1], "FUTEX_???");
tprintf(", %ld", tcp->u_arg[2]);
if (tcp->u_arg[1] == FUTEX_WAIT) {
tprintf(", ");
printtv(tcp, tcp->u_arg[3]);
}
} else if (tcp->u_arg[1] == FUTEX_REQUEUE)
tprintf(", %ld, %p", tcp->u_arg[3], (void *) tcp->u_arg[4]);
}
return 0;
}