De-anonymise a union so as to un-break compilation on gcc-2.95.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2147 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_proxylwp.c b/coregrind/vg_proxylwp.c
index 17d599a..23ae62c 100644
--- a/coregrind/vg_proxylwp.c
+++ b/coregrind/vg_proxylwp.c
@@ -196,7 +196,7 @@
union {
Int syscallno; /* system call completed */
vki_ksiginfo_t siginfo; /* signal */
- };
+ } u;
};
/* results pipe */
@@ -511,7 +511,7 @@
/* First, send the signal info */
sigreply.tid = px->tid;
sigreply.req = PX_Signal;
- sigreply.siginfo = px->siginfo;
+ sigreply.u.siginfo = px->siginfo;
if (!send_reply(&sigreply)) {
ret = 44; /* incomplete or failed write */
@@ -553,7 +553,7 @@
XXX how to distunguish between restartable and
non-restartable syscalls? Does it matter?
*/
- reply.syscallno = tst->syscallno;
+ reply.u.syscallno = tst->syscallno;
tst->m_eax = -VKI_ERESTARTSYS;
px->state = PXS_IntReply;
@@ -598,7 +598,7 @@
/* We were actually running the syscall when interrupted.
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;
break;
@@ -607,7 +607,7 @@
/* The syscall is done; we just need to send the results
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;
@@ -711,7 +711,7 @@
case PX_RunSyscall:
/* 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 ||
px->state == PXS_SigACK);
@@ -722,7 +722,7 @@
on the way to us as we got the signal.
*/
px_printf("RunSyscall in SigACK: rejecting syscall %d with ERESTARTSYS\n",
- reply.syscallno);
+ reply.u.syscallno);
tst->m_eax = -VKI_ERESTARTSYS;
} else {
Int syscallno = tst->syscallno;
@@ -1150,7 +1150,7 @@
VG_(printf)("tid %d in status %d\n",
tst->tid, tst->status);
- vg_assert(res.syscallno == tst->syscallno);
+ vg_assert(res.u.syscallno == tst->syscallno);
vg_assert(tst->status == VgTs_WaitSys);
VG_(post_syscall)(res.tid);
@@ -1159,12 +1159,12 @@
case PX_Signal:
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;
case PX_Ping: