|
From: Julian S. <js...@ac...> - 2003-12-22 22:54:10
|
CVS commit by jseward:
De-anonymise a union so as to un-break compilation on gcc-2.95.
M +11 -11 vg_proxylwp.c 1.10
--- valgrind/coregrind/vg_proxylwp.c #1.9:1.10
@@ -197,5 +197,5 @@ struct PX_Reply {
Int syscallno; /* system call completed */
vki_ksiginfo_t siginfo; /* signal */
- };
+ } u;
};
@@ -512,5 +512,5 @@ static Int proxylwp(void *v)
sigreply.tid = px->tid;
sigreply.req = PX_Signal;
- sigreply.siginfo = px->siginfo;
+ sigreply.u.siginfo = px->siginfo;
if (!send_reply(&sigreply)) {
@@ -554,5 +554,5 @@ static Int proxylwp(void *v)
non-restartable syscalls? Does it matter?
*/
- reply.syscallno = tst->syscallno;
+ reply.u.syscallno = tst->syscallno;
tst->m_eax = -VKI_ERESTARTSYS;
@@ -599,5 +599,5 @@ static Int proxylwp(void *v)
reply should already be set up, including return in eax. */
vg_assert(reply.req == PX_RunSyscall);
- vg_assert(reply.syscallno == tst->syscallno);
+ vg_assert(reply.u.syscallno == tst->syscallno);
vg_assert(tst->status == VgTs_WaitSys);
px->state = PXS_IntReply;
@@ -608,5 +608,5 @@ static Int proxylwp(void *v)
back. */
vg_assert(reply.req == PX_RunSyscall);
- vg_assert(reply.syscallno == tst->syscallno);
+ vg_assert(reply.u.syscallno == tst->syscallno);
px->state = PXS_IntReply;
break;
@@ -712,5 +712,5 @@ static Int proxylwp(void *v)
/* Run a syscall for our thread; results will be poked
back into tst */
- reply.syscallno = tst->syscallno;
+ reply.u.syscallno = tst->syscallno;
vg_assert(px->state == PXS_WaitReq ||
@@ -723,5 +723,5 @@ static Int proxylwp(void *v)
*/
px_printf("RunSyscall in SigACK: rejecting syscall %d with ERESTARTSYS\n",
- reply.syscallno);
+ reply.u.syscallno);
tst->m_eax = -VKI_ERESTARTSYS;
} else {
@@ -1151,5 +1151,5 @@ static void sys_wait_results(Bool block,
tst->tid, tst->status);
- vg_assert(res.syscallno == tst->syscallno);
+ vg_assert(res.u.syscallno == tst->syscallno);
vg_assert(tst->status == VgTs_WaitSys);
@@ -1160,10 +1160,10 @@ static void sys_wait_results(Bool block,
if (VG_(clo_trace_signals) || VG_(clo_trace_syscalls))
VG_(message)(Vg_DebugMsg, "sys_wait_results: got PX_Signal for TID %d, signal %d",
- res.tid, res.siginfo.si_signo);
+ res.tid, res.u.siginfo.si_signo);
- vg_assert(res.siginfo.si_signo != 0);
+ vg_assert(res.u.siginfo.si_signo != 0);
if (VG_(threads)[res.tid].proxy &&
!VG_(threads)[res.tid].proxy->terminating)
- VG_(deliver_signal)(res.tid, &res.siginfo, True);
+ VG_(deliver_signal)(res.tid, &res.u.siginfo, True);
break;
|