[Ltrace-devel] [PATCH v2 0/8] MIPSEL o32 updates
edgar.iglesias at gmail.com
edgar.iglesias at gmail.com
Thu Sep 27 10:07:32 UTC 2012
From: "Edgar E. Iglesias" <edgar at axis.com>
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 | 11 ++-
library.h | 1 +
ltrace-elf.c | 54 ++++++----
proc.c | 19 +++-
sysdeps/linux-gnu/mipsel/arch.h | 20 ++++
sysdeps/linux-gnu/mipsel/plt.c | 206 ++++++++++++++++++++++++++++++++++++++
sysdeps/linux-gnu/mipsel/trace.c | 164 ++++++++++++++++++++++++++++++
sysdeps/linux-gnu/trace.c | 2 +-
10 files changed, 474 insertions(+), 24 deletions(-)
--
1.7.8.6
More information about the Ltrace-devel
mailing list