user-space breakpoint support

Thiago Jung Bauermann bauerman at br.ibm.com
Tue Nov 18 19:16:01 UTC 2008


Hi,

I sent a message about this to the archer mailing list, I thought it
would be worthwhile to post it here too...

El mié, 12-11-2008 a las 16:36 -0800, Jim Keniston escribió:
> By the way, there are many references to single-stepping out of line
> (SSOL), which is used by kprobes and uprobes.  Section 6.1 of
> ols.108.redhat.com/2007/Reprints/keniston-Reprint.pdf provides an
> explanation of SSOL.

I didn't read the document above yet, perhaps it has some insights into
what I'll mention below. Sorry about that if that's the case.

> Typical usage by client:
> ------------------------
> Call ubp_init().
> For each probepoint:
> - Call ubp_insert_bkpt().
> - At some point before calling ubp_pre_sstep() for that probepoint,
> 	allocate an SSOL slot and set ubp->ssol_vaddr.	If no SSOL
> 	slot is available, call ubp_cancel_ssol().

I was disappointed to see that for out of line single stepping
their proposal expects the utrace client to provide space for storing
the relocated instruction. This is an issue with current GDB code, we
have only one such space: the executable entrypoint. I was hoping that
the kernel would be in a better position to come up with this kind of
resource than the userspace client. Perhaps froggy can provide that?

-- 
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center




More information about the utrace-devel mailing list