[Ltrace-devel] [RFC][PATCH] Add support for mips64 n32/n64

Faraz Shahbazker faraz.shahbazker at imgtec.com
Mon May 18 15:40:07 UTC 2015


Test PASS/FAIL counts:

o32 ltrace | o32 tests: 198 / 160
n32 ltrace | n32 tests: 187 / 159
n32 ltrace | o32 tests: 185 / 162
n64 ltrace | n64 tests: 160 / 185
n64 ltrace | n32 tests: 166 / 179
n64 ltrace | o32 tests: 164 / 181

Results were almost identical for PLT/no-PLT modes.

Some of the failures were due to deficiences of my test machine. For example, I couldn't get demangling & preload tests to build correctly in 64-bit mode due to link issues. However, the biggest cause of failures is lack of the new-style fetch backend - aggregate types over dword-size trigger an assert failure in many tests. A second would be lack of proper floating-point support.

Other known issues, due to features currently missing in the mips toolchain:
1. IFUNC support
2. Access to r_debug structure in PIE mode

Please review & comment.

Regards,
Faraz Shahbazker (1):

  Add support for mips64 n32/n64

 backend.h                            |    8 +
 ltrace-elf.c                         |   12 ++
 proc.h                               |    1 +
 sysdeps/linux-gnu/mips/Makefile.am   |    1 +
 sysdeps/linux-gnu/mips/abi.c         |   64 +++++++
 sysdeps/linux-gnu/mips/arch.h        |   24 ++-
 sysdeps/linux-gnu/mips/plt.c         |   68 +++++--
 sysdeps/linux-gnu/mips/signalent1.h  |   52 ++++++
 sysdeps/linux-gnu/mips/syscallent1.h |  328 ++++++++++++++++++++++++++++++++++
 sysdeps/linux-gnu/mips/trace.c       |  241 +++++++++++++++++++------
 sysdeps/linux-gnu/mksyscallent_mips  |    9 +-
 11 files changed, 728 insertions(+), 80 deletions(-)
 create mode 100644 sysdeps/linux-gnu/mips/abi.c
 create mode 100644 sysdeps/linux-gnu/mips/signalent1.h
 create mode 100644 sysdeps/linux-gnu/mips/syscallent1.h

-- 1.7.9.5 



More information about the Ltrace-devel mailing list