|
From: <sv...@va...> - 2012-10-08 20:27:03
|
cborntra 2012-10-08 21:26:48 +0100 (Mon, 08 Oct 2012)
New Revision: 13034
Log:
fix parent and child tid pointer mixup:
The linux kernel has parent tid pointer first.
Modified files:
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (+3 -3)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-10-08 11:07:08 +01:00 (rev 13033)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-10-08 21:26:48 +01:00 (rev 13034)
@@ -123,7 +123,7 @@
long flags in r3
int* parent_tid in r4
int* child_tid in r5
- int* child_tid in r6
+ int* tls address in r6
Word (*fn)(void *) 160(r15)
void *arg 168(r15)
@@ -143,8 +143,8 @@
extern
ULong do_syscall_clone_s390x_linux ( void *stack,
ULong flags,
+ Int *parent_tid,
Int *child_tid,
- Int *parent_tid,
Addr tlsaddr,
Word (*fn)(void *),
void *arg);
@@ -304,7 +304,7 @@
/* Create the new thread */
r2 = do_syscall_clone_s390x_linux(
- stack, flags, child_tidptr, parent_tidptr, tlsaddr,
+ stack, flags, parent_tidptr, child_tidptr, tlsaddr,
ML_(start_thread_NORETURN), &VG_(threads)[ctid]);
res = VG_(mk_SysRes_s390x_linux)( r2 );
|