mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
Make amd64-linux build again after m_sigframe hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3557
This commit is contained in:
parent
48d6381e24
commit
0d4f070b04
@ -30,6 +30,7 @@
|
||||
|
||||
#include "core.h"
|
||||
#include "ume.h" /* for jmp_with_stack */
|
||||
#include "pub_core_sigframe.h"
|
||||
|
||||
|
||||
/* COPIED FROM /usr/include/asm-i386/prctl.h (amd64-linux) */
|
||||
@ -545,7 +546,7 @@ PRE(sys_rt_sigreturn, Special)
|
||||
something goes wrong in the sigreturn */
|
||||
VGA_(restart_syscall)(&tst->arch);
|
||||
|
||||
VGA_(signal_return)(tid, True);
|
||||
VG_(sigframe_destroy)(tid, True);
|
||||
|
||||
/* Keep looking for signals until there are none */
|
||||
VG_(poll_signals)(tid);
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
/*--- Arch-specific signals stuff. amd64/signals.c ---*/
|
||||
/*--- Create/destroy signal delivery frames. ---*/
|
||||
/*--- sigframe-amd64-linux.c ---*/
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
@ -29,6 +30,7 @@
|
||||
*/
|
||||
|
||||
#include "core.h"
|
||||
#include "pub_core_sigframe.h"
|
||||
|
||||
#include "libvex_guest_amd64.h"
|
||||
|
||||
@ -36,14 +38,9 @@
|
||||
/* This module creates and removes signal frames for signal deliveries
|
||||
on amd64-linux.
|
||||
|
||||
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 also, this file contains kernel-specific knowledge in the
|
||||
form of 'struct rt_sigframe'. How does that relate to the vki
|
||||
kernel interface stuff?
|
||||
Note, 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
|
||||
@ -478,11 +475,13 @@ static Addr build_rt_sigframe(ThreadState *tst,
|
||||
}
|
||||
|
||||
|
||||
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,
|
||||
Addr rsp_top_of_frame,
|
||||
const vki_siginfo_t *siginfo,
|
||||
void *handler,
|
||||
UInt flags,
|
||||
const vki_sigset_t *mask,
|
||||
void *restorer )
|
||||
{
|
||||
Addr rsp;
|
||||
struct rt_sigframe *frame;
|
||||
@ -584,7 +583,7 @@ SizeT restore_rt_sigframe ( ThreadState *tst,
|
||||
}
|
||||
|
||||
|
||||
void VGA_(signal_return)(ThreadId tid, Bool isRT)
|
||||
void VG_(sigframe_destroy)( ThreadId tid, Bool isRT )
|
||||
{
|
||||
Addr rsp;
|
||||
ThreadState* tst;
|
||||
@ -673,7 +672,7 @@ void VGA_(signal_return)(ThreadId tid, Bool isRT)
|
||||
//:: {
|
||||
//:: VG_(memcpy)(xfpu, arch->m_sse.state, sizeof(*xfpu));
|
||||
//:: }
|
||||
//::
|
||||
//:: /*--------------------------------------------------------------------*/
|
||||
//:: /*--- end ---*/
|
||||
//:: /*--------------------------------------------------------------------*/
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
/*--- end sigframe-amd64-linux.c ---*/
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
|
||||
#include "core.h"
|
||||
#include "pub_core_sigframe.h"
|
||||
|
||||
#include "libvex_guest_x86.h"
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user