Add ptrace_clear_single_step(), alpha already has it for years, the function
will be used by ptrace to clear a thread's single step state.
This commit is contained in:
parent
cbf4e354ec
commit
53dbf30349
@ -1302,6 +1302,13 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
td->td_frame->tf_rflags &= ~PSL_T;
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
fill_regs(struct thread *td, struct reg *regs)
|
||||
{
|
||||
|
@ -2251,6 +2251,13 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
td->td_frame->tf_eflags &= ~PSL_T;
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
fill_regs(struct thread *td, struct reg *regs)
|
||||
{
|
||||
|
@ -1254,6 +1254,14 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
|
||||
td->td_frame->tf_special.psr &= ~IA64_PSR_SS;
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
fill_regs(struct thread *td, struct reg *regs)
|
||||
{
|
||||
|
@ -2308,6 +2308,13 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
td->td_frame->tf_eflags &= ~PSL_T;
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
fill_regs(struct thread *td, struct reg *regs)
|
||||
{
|
||||
|
@ -2308,6 +2308,13 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
td->td_frame->tf_eflags &= ~PSL_T;
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
fill_regs(struct thread *td, struct reg *regs)
|
||||
{
|
||||
|
@ -820,6 +820,14 @@ ptrace_single_step(struct thread *td)
|
||||
return (ENOSYS);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
|
||||
/* XXX: coming soon... */
|
||||
return (ENOSYS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialise a struct pcpu.
|
||||
*/
|
||||
|
@ -820,6 +820,14 @@ ptrace_single_step(struct thread *td)
|
||||
return (ENOSYS);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
|
||||
/* XXX: coming soon... */
|
||||
return (ENOSYS);
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialise a struct pcpu.
|
||||
*/
|
||||
|
@ -711,6 +711,13 @@ ptrace_single_step(struct thread *td)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
ptrace_clear_single_step(struct thread *td)
|
||||
{
|
||||
/* TODO; */
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user