From: "Edgar E. Iglesias" <[email protected]>

Hi,

This is the series I've been hacking on. There are still issues
with threaded apps.

There are at least two issues:
1. Singlestepping over breakpoints is not really thread safe, IIUC.
2. Waiting until function return until adding breakpoints to
   resolved addresses is to late and not thread safe.

I plan to take a closer look at the watchpoint approach to eliminate nr 2
as Petr M suggested. Any suggestions on howto solve issue nr 1 are also
wellcome. Leaving the breakpoint inplace and emulating the insn might be
a last resort, but quite involved...

I've tested this on a MIPSEL 32R2 o32 and it seems to work fine
for single threaded apps. I've also ran the ltrace testsuite with
the patches on an x86_64.

I'll be happy to fix any comments you might have!

Cheers,
Edgar

Edgar E. Iglesias (8):
  mips: Map the various mips archs as mips/mipsel
  proc: Add missing sym2addr mappings
  Break out the symbol info gathering into a backend call
  Add LS_TOPLT_GOTONLY
  mipsel: Conditionalize GOT indirection in sym2addr
  mipsel: Add mips specific symbol info loading
  mipsel: Singlestep over breakpoints
  mipsel: Update breakpoints when functions return

 backend.h                        |   19 ++++
 configure.ac                     |    2 +
 handle_event.c                   |    9 ++
 library.h                        |    1 +
 ltrace-elf.c                     |   56 +++++++----
 proc.c                           |   19 +++-
 sysdeps/linux-gnu/mipsel/arch.h  |   20 ++++
 sysdeps/linux-gnu/mipsel/plt.c   |  203 ++++++++++++++++++++++++++++++++++++++
 sysdeps/linux-gnu/mipsel/trace.c |  164 ++++++++++++++++++++++++++++++
 sysdeps/linux-gnu/trace.c        |    2 +-
 10 files changed, 472 insertions(+), 23 deletions(-)

-- 
1.7.8.6


_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to