|
From: <sv...@va...> - 2005-04-05 18:36:11
|
Author: tom
Date: 2005-04-05 19:36:05 +0100 (Tue, 05 Apr 2005)
New Revision: 3521
Modified:
trunk/coregrind/amd64/signals.c
trunk/coregrind/x86/signals.c
Log:
Removed bogus (UInt) casts from the amd64 signal frame builder and some
unecessary casts and code from the x86 signal frame builders.
Modified: trunk/coregrind/amd64/signals.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/signals.c 2005-04-05 02:49:09 UTC (rev 3520)
+++ trunk/coregrind/amd64/signals.c 2005-04-05 18:36:05 UTC (rev 3521)
@@ -456,10 +456,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr
+ =3D VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
=20
VG_(memcpy)(&frame->sigInfo, siginfo, sizeof(vki_siginfo_t));
=20
Modified: trunk/coregrind/x86/signals.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/signals.c 2005-04-05 02:49:09 UTC (rev 3520)
+++ trunk/coregrind/x86/signals.c 2005-04-05 18:36:05 UTC (rev 3521)
@@ -464,6 +464,8 @@
Int sigNo =3D siginfo->si_signo;
struct vki_ucontext uc;
=20
+ vg_assert((flags & VKI_SA_SIGINFO) =3D=3D 0);
+
esp -=3D sizeof(*frame);
esp =3D ROUNDDN(esp, 16);
frame =3D (struct sigframe *)esp;
@@ -479,14 +481,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- if (flags & VKI_SA_SIGINFO)
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn=
_offset);
- else
- frame->retaddr
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr
+ =3D VG_(client_trampoline_code)+VG_(tramp_sigreturn_offset);
=20
synth_ucontext(tst->tid, siginfo, mask, &uc, &frame->fpstate);
=20
@@ -514,6 +511,8 @@
Addr esp =3D esp_top_of_frame;
Int sigNo =3D siginfo->si_signo;
=20
+ vg_assert((flags & VKI_SA_SIGINFO) !=3D 0);
+
esp -=3D sizeof(*frame);
esp =3D ROUNDDN(esp, 16);
frame =3D (struct rt_sigframe *)esp;
@@ -529,14 +528,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- if (flags & VKI_SA_SIGINFO)
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn=
_offset);
- else
- frame->retaddr
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr=20
+ =3D VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
=20
frame->psigInfo =3D (Addr)&frame->sigInfo;
frame->puContext =3D (Addr)&frame->uContext;
|