]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Removed bogus (UInt) casts from the amd64 signal frame builder and some
authorTom Hughes <tom@compton.nu>
Tue, 5 Apr 2005 18:36:05 +0000 (18:36 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 5 Apr 2005 18:36:05 +0000 (18:36 +0000)
unecessary casts and code from the x86 signal frame builders.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3521

coregrind/amd64/signals.c
coregrind/x86/signals.c

index 95e2ff5eeaf470ff263c0ee7a85b2c42245e4f54..2a7fa6275cd64fea75a9815aa88b8ad537b8fc3a 100644 (file)
@@ -456,10 +456,9 @@ static Addr build_rt_sigframe(ThreadState *tst,
 
    if (flags & VKI_SA_RESTORER)
       frame->retaddr = (Addr)restorer;
-   else {
-      frame->retaddr 
-         = (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
-   }
+   else
+      frame->retaddr
+         = VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
 
    VG_(memcpy)(&frame->sigInfo, siginfo, sizeof(vki_siginfo_t));
 
index 88895d4682cc85162c87ac653a6391b74851f0eb..cb324c56ae50bee6d4c0aef6e504d756bff99f8f 100644 (file)
@@ -464,6 +464,8 @@ static Addr build_sigframe(ThreadState *tst,
    Int sigNo = siginfo->si_signo;
    struct vki_ucontext uc;
 
+   vg_assert((flags & VKI_SA_SIGINFO) == 0);
+
    esp -= sizeof(*frame);
    esp = ROUNDDN(esp, 16);
    frame = (struct sigframe *)esp;
@@ -479,14 +481,9 @@ static Addr build_sigframe(ThreadState *tst,
 
    if (flags & VKI_SA_RESTORER)
       frame->retaddr = (Addr)restorer;
-   else {
-      if (flags & VKI_SA_SIGINFO)
-        frame->retaddr 
-            = (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
-      else
-        frame->retaddr
-            = (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_offset);
-   }
+   else
+      frame->retaddr
+         = VG_(client_trampoline_code)+VG_(tramp_sigreturn_offset);
 
    synth_ucontext(tst->tid, siginfo, mask, &uc, &frame->fpstate);
 
@@ -514,6 +511,8 @@ static Addr build_rt_sigframe(ThreadState *tst,
    Addr esp = esp_top_of_frame;
    Int sigNo = siginfo->si_signo;
 
+   vg_assert((flags & VKI_SA_SIGINFO) != 0);
+
    esp -= sizeof(*frame);
    esp = ROUNDDN(esp, 16);
    frame = (struct rt_sigframe *)esp;
@@ -529,14 +528,9 @@ static Addr build_rt_sigframe(ThreadState *tst,
 
    if (flags & VKI_SA_RESTORER)
       frame->retaddr = (Addr)restorer;
-   else {
-      if (flags & VKI_SA_SIGINFO)
-        frame->retaddr 
-            = (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
-      else
-        frame->retaddr
-            = (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_offset);
-   }
+   else
+      frame->retaddr 
+         = VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
 
    frame->psigInfo = (Addr)&frame->sigInfo;
    frame->puContext = (Addr)&frame->uContext;