Ejemplo n.º 1
0
void
stack_save(struct stack *st)
{
	u_int32_t *frame;

	frame = (u_int32_t *)__builtin_frame_address(0);
	stack_capture(st, frame);
}
Ejemplo n.º 2
0
void
stack_save(struct stack *st)
{
	register_t frame;

	frame = (register_t)__builtin_frame_address(1);
	stack_capture(st, frame);
}
Ejemplo n.º 3
0
void
stack_save_td(struct stack *st, struct thread *td)
{

	if (TD_IS_SWAPPED(td))
		panic("stack_save_td: swapped");
	if (TD_IS_RUNNING(td))
		panic("stack_save_td: running");

	stack_capture(st, (struct frame *)(td->td_pcb->pcb_sp + SPOFF));
}
Ejemplo n.º 4
0
void
stack_save(struct stack *st)
{
	u_register_t pc, sp;

	if (curthread == NULL)
		panic("stack_save: curthread == NULL");

	pc = curthread->td_pcb->pcb_regs.pc;
	sp = curthread->td_pcb->pcb_regs.sp;
	stack_capture(st, pc, sp);
}
Ejemplo n.º 5
0
void
stack_save_td(struct stack *st, struct thread *td)
{
	u_int32_t *frame;

	if (TD_IS_SWAPPED(td))
		panic("stack_save_td: swapped");
	if (TD_IS_RUNNING(td))
		panic("stack_save_td: running");

	frame = (u_int32_t *)td->td_pcb->un_32.pcb32_r11;
	stack_capture(st, frame);
}
Ejemplo n.º 6
0
void
stack_save_td(struct stack *st, struct thread *td)
{
	vm_offset_t frame;

	if (TD_IS_SWAPPED(td))
		panic("stack_save_td: swapped");
	if (TD_IS_RUNNING(td))
		panic("stack_save_td: running");

	frame = td->td_pcb->pcb_sp;
	stack_capture(st, frame);
}
Ejemplo n.º 7
0
void
stack_save(struct stack *st)
{
	u_register_t pc, sp;

	if (curthread == NULL)
		panic("stack_save: curthread == NULL");

	/* XXXRW: Should be pcb_context? */
	pc = curthread->td_pcb->pcb_regs.pc;
	sp = curthread->td_pcb->pcb_regs.sp;
	stack_capture(st, pc, sp);
}
Ejemplo n.º 8
0
void
stack_save_td(struct stack *st, struct thread *td)
{
	u_register_t pc, sp;

	if (TD_IS_SWAPPED(td))
		panic("stack_save_td: swapped");
	if (TD_IS_RUNNING(td))
		panic("stack_save_td: running");

	pc = td->td_pcb->pcb_regs.pc;
	sp = td->td_pcb->pcb_regs.sp;
	stack_capture(st, pc, sp);
}
Ejemplo n.º 9
0
void
stack_save_td(struct stack *st, struct thread *td)
{
	u_int32_t *frame;

	if (TD_IS_SWAPPED(td))
		panic("stack_save_td: swapped");
	if (TD_IS_RUNNING(td))
		panic("stack_save_td: running");

	/*
	 * This register, the frame pointer, is incorrect for the ARM EABI
	 * as it doesn't have a frame pointer, however it's value is not used
	 * when building for EABI.
	 */
	frame = (u_int32_t *)td->td_pcb->un_32.pcb32_r11;
	stack_zero(st);
	stack_capture(st, frame);
}
Ejemplo n.º 10
0
void
stack_save(struct stack *st)
{

	stack_capture(st, (struct frame *)__builtin_frame_address(1));
}