Interesting, well with that in hand the following patch seems to work OK;
I can see the MIPS sysdep has a separate implementation of 
set_instruction_pointer
that explicitly talks about avoiding PTRACE_SINGLESTEP but it's only MIPS that 
does that so far.

Dave

--- a/sysdeps/linux-gnu/trace.c
+++ b/sysdeps/linux-gnu/trace.c
@@ -127,7 +127,7 @@ continue_after_signal(pid_t pid, int signum) {
 
        proc = pid2proc(pid);
        if (proc && proc->breakpoint_being_enabled) {
-#if defined __sparc__  || defined __ia64___ || defined __mips__
+#if defined __sparc__  || defined __ia64___ || defined __mips__ || defined 
__arm__
                ptrace(PTRACE_SYSCALL, pid, 0, signum);
 #else
                ptrace(PTRACE_SINGLESTEP, pid, 0, signum);
@@ -162,7 +162,7 @@ continue_after_breakpoint(Process *proc, Breakpoint *sbp) {
        } else {
                debug(DEBUG_PROCESS, "continue_after_breakpoint: pid=%d, 
addr=%p", proc->pid, sbp->addr);
                proc->breakpoint_being_enabled = sbp;
-#if defined __sparc__  || defined __ia64___ || defined __mips__
+#if defined __sparc__  || defined __ia64___ || defined __mips__ || defined 
__arm__
                /* we don't want to singlestep here */
                continue_process(proc->pid);
 #else

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/771805

Title:
  [armel] ltrace hangs

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to