public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/12] MIPS port
@ 2016-10-11  8:14 Marcin Nowakowski
  2016-10-11  8:15 ` [PATCH 03/12] mips: add TIF_32BIT definition Marcin Nowakowski
                   ` (13 more replies)
  0 siblings, 14 replies; 17+ messages in thread
From: Marcin Nowakowski @ 2016-10-11  8:14 UTC (permalink / raw)
  To: systemtap; +Cc: Marcin Nowakowski

This patch series attempts to bring MIPS support to systemtap. It is largely
based on an earlier work by Victor Kamensky and Crestez Dan Leonard who have
previously attempted to add MIPS support, but which has never been completed.

As of now (linux 4.8) upstream linux kernel for MIPS has [ku]probes support,
which makes the arch-specific effort much smaller in systemtap.

With the following patches I've been able to pass a large number of testsuite
tests and most of the failures observed have been related to either expected
parts of the kernel not enabled and/or testsuite incompatibilities with linux
4.8 or the userspace apps used in my test environment.

Some functions don't work properly due to incomplete support in elfutils
(Debian port of Elfutils has a reasonable MIPS support, but it's not complete),
and some have not been fully implemented in systemtap yet.

There is no good guide on how to add a new architecture to SystemTap, so there
might be things that I have missed or which are not done entirely correctly -
I hope that with some guidance from the maintainers I can get it all merged
into the tree. If possible, I would like to get the basic support as completed
now merged in and work on further fixes later, unless there are any blocking
issues that would have to be resolved immediately.

The patch series has been split into multiple smaller patches to make the
review easier, but they are generally not intended to be tested in isolation -
as they do not make too much sense until last patches are applied.

Marcin Nowakowski (12):
  tapset syscall-number database: add MIPS syscalls
  testsuite: add support for mips64 build flags
  mips: add TIF_32BIT definition
  mips: tapsets.cxx: add dwarf register definitions for SDT uprobes
  mips: add tapset register definitions
  mips: add a stub for stack unwind
  tapset: fix build if arch does not define SA_RESTORER
  mips: tapset: fix mips oddities in syscalls
  mips: add basic unwind support
  Create debug_frame_hdr in target byte order
  mips: add support in tapset
  mips: add runtime support

 runtime/compatdefs.h                     |    8 +
 runtime/linux/arith.c                    |   96 +-
 runtime/linux/regs.c                     |  131 ++
 runtime/linux/runtime.h                  |    2 +-
 runtime/loc2c-runtime.h                  |    9 +
 runtime/regs.h                           |    4 +
 runtime/stack-mips.c                     |    4 +
 runtime/stack.c                          |    2 +
 runtime/syscall.h                        |   67 +
 runtime/unwind/mips.h                    |   79 ++
 runtime/unwind/unwind.h                  |    2 +
 scripts/dump-syscalls.sh                 |    7 +
 tapset/errno.stp                         |    2 +
 tapset/linux/aux_syscalls.stp            |   16 +-
 tapset/linux/mips/aux_syscalls.stp       |   44 +
 tapset/linux/mips/syscall_num.stp        | 2027 ++++++++++++++++++++++++++++++
 tapset/linux/scheduler.stp               |    2 +-
 tapset/linux/syscalls2.stp               |   12 +
 tapset/mips/registers.stp                |  301 +++++
 tapsets.cxx                              |   79 +-
 testsuite/lib/compile_flags.exp          |    3 +-
 testsuite/lib/systemtap.exp              |    1 +
 testsuite/systemtap.context/num_args.stp |    1 +
 translate.cxx                            |   38 +-
 24 files changed, 2919 insertions(+), 18 deletions(-)
 create mode 100644 runtime/stack-mips.c
 create mode 100644 runtime/unwind/mips.h
 mode change 100644 => 100755 scripts/dump-syscalls.sh
 create mode 100644 tapset/linux/mips/aux_syscalls.stp
 create mode 100644 tapset/linux/mips/syscall_num.stp
 create mode 100644 tapset/mips/registers.stp

-- 
2.7.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-10-14 10:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-11  8:14 [PATCH 00/12] MIPS port Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 03/12] mips: add TIF_32BIT definition Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 10/12] Create debug_frame_hdr in target byte order Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 11/12] mips: add support in tapset Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 08/12] mips: tapset: fix mips oddities in syscalls Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 12/12] mips: add runtime support Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 07/12] tapset: fix build if arch does not define SA_RESTORER Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 06/12] mips: add a stub for stack unwind Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 01/12] tapset syscall-number database: add MIPS syscalls Marcin Nowakowski
2016-10-11  8:15 ` [PATCH 02/12] testsuite: add support for mips64 build flags Marcin Nowakowski
2016-10-11  8:30 ` [PATCH 05/12] mips: add tapset register definitions Marcin Nowakowski
2016-10-11  8:30 ` [PATCH 09/12] mips: add basic unwind support Marcin Nowakowski
2016-10-11  8:30 ` [PATCH 04/12] mips: tapsets.cxx: add dwarf register definitions for SDT uprobes Marcin Nowakowski
2016-10-11  8:57 ` [PATCH 00/12] MIPS port Mark Wielaard
2016-10-11  9:36   ` Marcin Nowakowski
2016-10-11 15:01 ` Frank Ch. Eigler
2016-10-14 10:30   ` Marcin Nowakowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).