Roland, I have attached set of patches for providing breakpoint mechanism for user processes as mentioned in http://sourceware.org/ml/systemtap/2007-q1/msg00571.html. This patchset provides API for insertion/removal of breakpoint. It also has provisions for storing the original instructions in a separate area known as SSOL(Single Step Out of Line) area. One of the intentions to store original instructions in a separate area(SSOL area) is to allow user to do single stepping out of line. Utrace exploiters can make use of this feature for insertion/removal of breakpoints and for single stepping over an out of line copy of the instruction.
Prerequisite Iam assuming that, API's for insertion and removal of breakpoint are called when all threads of the process are quiesced. (Probably, one can call these functions from a quiesce handler of a utrace engine.) Iam posting this small piece of code with minimal feature(works only on powerpc architecture) to collect feedback from community about my design and approach in providing breakpoint assistance for user processes. Patches attached in the mail briefly explains implementation, followed by its limitations and todo section. Please let me know your comments/views on this. Thanks Srinivasa DS