[Ltrace-devel] [RFC] add xtensa architecture support to ltrace
Max Filippov
jcmvbkbc at gmail.com
Tue Jun 17 09:41:28 UTC 2014
Hi,
this patch adds xtensa architecture support to ltrace.
It's an RFC because currently there's an issue I'm not sure how to deal with:
code blocks that correspond to PLT entries on other architectures are only
used at most once on xtensa, after initial resolution of imported symbol
address importing module calls it directly. I saw similar behaviour in MIPS
backend and mostly replicated its arch_symbol_ret handler. However with
this approach function calls may be attributed to a wrong library -- the one
that did the call first and put a breakpoint to the real function location.
I'd appreciate any idea how this can be fixed.
Max Filippov (1):
xtensa: add xtensa support
configure.ac | 2 +
proc.c | 2 +-
sysdeps/linux-gnu/Makefile.am | 2 +-
sysdeps/linux-gnu/xtensa/Makefile.am | 35 ++++
sysdeps/linux-gnu/xtensa/arch.h | 69 +++++++
sysdeps/linux-gnu/xtensa/breakpoint.c | 71 +++++++
sysdeps/linux-gnu/xtensa/plt.c | 192 ++++++++++++++++++
sysdeps/linux-gnu/xtensa/ptrace.h | 21 ++
sysdeps/linux-gnu/xtensa/regs.c | 52 +++++
sysdeps/linux-gnu/xtensa/signalent.h | 52 +++++
sysdeps/linux-gnu/xtensa/syscallent.h | 357 ++++++++++++++++++++++++++++++++++
sysdeps/linux-gnu/xtensa/trace.c | 100 ++++++++++
12 files changed, 953 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/linux-gnu/xtensa/Makefile.am
create mode 100644 sysdeps/linux-gnu/xtensa/arch.h
create mode 100644 sysdeps/linux-gnu/xtensa/breakpoint.c
create mode 100644 sysdeps/linux-gnu/xtensa/plt.c
create mode 100644 sysdeps/linux-gnu/xtensa/ptrace.h
create mode 100644 sysdeps/linux-gnu/xtensa/regs.c
create mode 100644 sysdeps/linux-gnu/xtensa/signalent.h
create mode 100644 sysdeps/linux-gnu/xtensa/syscallent.h
create mode 100644 sysdeps/linux-gnu/xtensa/trace.c
--
1.8.1.4
More information about the Ltrace-devel
mailing list