|
From: <sv...@va...> - 2005-04-24 14:31:34
|
Author: sewardj
Date: 2005-04-24 15:31:29 +0100 (Sun, 24 Apr 2005)
New Revision: 3557
Modified:
trunk/coregrind/amd64-linux/syscalls.c
trunk/coregrind/m_sigframe/sigframe-amd64-linux.c
trunk/coregrind/m_sigframe/sigframe-x86-linux.c
Log:
Make amd64-linux build again after m_sigframe hackery.
Modified: trunk/coregrind/amd64-linux/syscalls.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-linux/syscalls.c 2005-04-24 14:18:14 UTC (rev 3=
556)
+++ trunk/coregrind/amd64-linux/syscalls.c 2005-04-24 14:31:29 UTC (rev 3=
557)
@@ -30,6 +30,7 @@
=20
#include "core.h"
#include "ume.h" /* for jmp_with_stack */
+#include "pub_core_sigframe.h"
=20
=20
/* COPIED FROM /usr/include/asm-i386/prctl.h (amd64-linux) */
@@ -545,7 +546,7 @@
something goes wrong in the sigreturn */
VGA_(restart_syscall)(&tst->arch);
=20
- VGA_(signal_return)(tid, True);
+ VG_(sigframe_destroy)(tid, True);
=20
/* Keep looking for signals until there are none */
VG_(poll_signals)(tid);
Modified: trunk/coregrind/m_sigframe/sigframe-amd64-linux.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/m_sigframe/sigframe-amd64-linux.c 2005-04-24 14:18:14=
UTC (rev 3556)
+++ trunk/coregrind/m_sigframe/sigframe-amd64-linux.c 2005-04-24 14:31:29=
UTC (rev 3557)
@@ -1,6 +1,7 @@
=20
/*--------------------------------------------------------------------*/
-/*--- Arch-specific signals stuff. amd64/signals.c ---*/
+/*--- Create/destroy signal delivery frames. ---*/
+/*--- sigframe-amd64-linux.c ---*/
/*--------------------------------------------------------------------*/
=20
/*
@@ -29,6 +30,7 @@
*/
=20
#include "core.h"
+#include "pub_core_sigframe.h"
=20
#include "libvex_guest_amd64.h"
=20
@@ -36,15 +38,10 @@
/* This module creates and removes signal frames for signal deliveries
on amd64-linux.
=20
- FIXME: Note that this file is in the wrong place. It is marked as
- amd64 specific, but in fact it is specific to both amd64 and linux.
- There is nothing that ensures that (eg) amd64-netbsd will have the
- same signal frame layout as Linux.
+ Note, this file contains kernel-specific knowledge in the form of
+ 'struct rt_sigframe'. How does that relate to the vki kernel
+ interface stuff?
=20
- Note also, this file contains kernel-specific knowledge in the
- form of 'struct rt_sigframe'. How does that relate to the vki
- kernel interface stuff?
-
A 'struct rtsigframe' is pushed onto the client's stack. This
contains a subsidiary vki_ucontext. That holds the vcpu's state
across the signal, so that the sighandler can mess with the vcpu
@@ -478,11 +475,13 @@
}
=20
=20
-void VGA_(push_signal_frame)(ThreadId tid, Addr rsp_top_of_frame,
- const vki_siginfo_t *siginfo,
- void *handler, UInt flags,
- const vki_sigset_t *mask,
- void *restorer)
+void VG_(sigframe_create)( ThreadId tid,=20
+ Addr rsp_top_of_frame,
+ const vki_siginfo_t *siginfo,
+ void *handler,=20
+ UInt flags,
+ const vki_sigset_t *mask,
+ void *restorer )
{
Addr rsp;
struct rt_sigframe *frame;
@@ -584,7 +583,7 @@
}
=20
=20
-void VGA_(signal_return)(ThreadId tid, Bool isRT)
+void VG_(sigframe_destroy)( ThreadId tid, Bool isRT )
{
Addr rsp;
ThreadState* tst;
@@ -673,7 +672,7 @@
//:: {
//:: VG_(memcpy)(xfpu, arch->m_sse.state, sizeof(*xfpu));
//:: }
-//::=20
-//:: /*-----------------------------------------------------------------=
---*/
-//:: /*--- end =
---*/
-//:: /*-----------------------------------------------------------------=
---*/
+
+/*--------------------------------------------------------------------*/
+/*--- end sigframe-amd64-linux.c ---*/
+/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_sigframe/sigframe-x86-linux.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/m_sigframe/sigframe-x86-linux.c 2005-04-24 14:18:14 U=
TC (rev 3556)
+++ trunk/coregrind/m_sigframe/sigframe-x86-linux.c 2005-04-24 14:31:29 U=
TC (rev 3557)
@@ -31,6 +31,7 @@
=20
#include "core.h"
#include "pub_core_sigframe.h"
+
#include "libvex_guest_x86.h"
=20
=20
|