diff -up ltrace-0.5-64/process_event.c\~ ltrace-0.5-64/process_event.c --- ltrace-0.5-64/process_event.c~ 2011-11-09 12:01:06.000000000 +0100 +++ ltrace-0.5-64/process_event.c 2011-11-09 13:29:28.000000000 +0100 @@ -448,7 +448,7 @@ static void process_breakpoint(struct ev unsigned long a; struct library_symbol *libsym = event->proc->callstack[i].c_un.libfunc; - void *addr = sym2addr(leader, libsym); + void *addr = sym2addr(event->proc, libsym); if (libsym->plt_type != LS_TOPLT_POINT) { unsigned char break_insn[] = BREAKPOINT_VALUE; @@ -509,7 +509,7 @@ static void process_breakpoint(struct ev if (event->proc->need_to_reinitialize_breakpoints && (strcmp(sbp->libsym->name, PLTs_initialized_by_here) == 0)) - reinitialize_breakpoints(leader); + reinitialize_breakpoints(event->proc); #endif continue_after_breakpoint(event->proc, sbp); Diff finished. Wed Nov 9 13:32:50 2011