Hi -

This patchset adds a new-and-improved strace and a lot of bug fixes I
found along the way.  Some, like the console bugs, are ancient.  You'll
need to rebuild glibc to get all of the fixes, though I recommend
rebuilding the world.

As far as strace goes, try strace --help.  It's basically like Linux's
strace, with -f, -p, -o, and -e.  We can add more trace sets easily too.
There's also bash completion for strace and perf.  I stopped short of
doing per-syscall output formatting.  Future work.

Barret


The following changes since commit cfd8d39346ef5b2539e46d0e308dba01611e1570:

  VMM: SMP guest (XCC) (2017-02-07 13:01:42 -0500)

are available in the git repository at:

  [email protected]:brho/akaros.git strace

for you to fetch changes up to 173c6446927421073148cccfcad13ea988364c84:

  strace: Support all sorts of crazy things! (2017-02-09 12:31:44 -0500)

----------------------------------------------------------------
View this online at:
https://github.com/brho/akaros/compare/cfd8d39346ef...173c64469274

----------------------------------------------------------------
Barret Rhoden (30):
      Compile with -Wreturn-type
      Clean bash during make apps-clean
      cap: Fix openmode issue
      Add a dump function for trace_printk()
      Print out whether a process is VC ctx ready
      Add a verbosity parameter to "pip"
      Allow backtrace_user_ctx() on remote cores
      Remove another alloca from glibc printf (XCC)
      Don't miss events for early SCPs (XCC)
      qio: Fix race with multiple blockers
      cons: Fix initialization bug
      x86: Poll and discard console devices during setup
      x86: Remove the POLL_CONSOLE hack
      Add a helper for a bitmap's size
      Add bash completion for perf and strace
      strace: Remove the ability to write to Qstrace
      strace: Qstrace controls whether tracing is on
      strace: Filter syscalls (XCC)
      parlib: Add a syscall lookup table (XCC)
      Rename SYS_yield -> SYS_proc_yield (XCC)
      Atomically initialize parts of the 2LS (XCC)
      parlib: Don't run ctors in "fake parlib"
      pth: Remove fun debugging comment
      pth: Use barriers in pthread tests
      strace: Block the target when the strace q is full
      strace: Use Qmsg for the trace log (XCC)
      strace: Use the kpage allocator for traces
      Don't use MEM_WAIT in alloc_sysc_str()
      devproc: Remove unused or dangerous commands
      strace: Support all sorts of crazy things!

 .gitignore                                         |   1 +
 Makefile                                           |   5 +-
 kern/arch/x86/Kconfig                              |   7 -
 kern/arch/x86/init.c                               |   4 +-
 kern/drivers/dev/capability.c                      |   6 +-
 kern/drivers/dev/cons.c                            |   9 +
 kern/drivers/dev/kprof.c                           |  11 +
 kern/drivers/dev/proc.c                            | 151 +++---
 kern/include/bitmap.h                              |   6 +
 kern/include/env.h                                 |   2 -
 kern/include/ns.h                                  |  12 +-
 kern/include/process.h                             |   2 +-
 kern/include/ros/bits/syscall.h                    |  11 +-
 kern/include/ros/syscall.h                         |   1 +
 kern/include/syscall.h                             |   6 +-
 kern/kfs/.bashrc                                   |   7 +
 kern/src/kdebug.c                                  |   4 +-
 kern/src/monitor.c                                 |  18 +-
 kern/src/ns/qio.c                                  | 108 +++--
 kern/src/process.c                                 |  33 +-
 kern/src/syscall.c                                 | 106 +++-
 scripts/make_syscall_tbl.sh                        |  42 ++
 tests/futex_timeout.c                              |   1 +
 tests/mcp_halt.c                                   |   2 +-
 tests/mhello.c                                     |   2 +-
 tests/pthread_switch.c                             |   8 +-
 tests/pthread_test.c                               |   7 +-
 tests/strace.c                                     | 534 ++++++++++++++++++---
 tests/vmm/vmrunkernel.c                            |   2 +-
 .../glibc-2.19-akaros/stdio-common/vfprintf.c      |  17 +-
 .../glibc-2.19-akaros/sysdeps/akaros/sched_yield.c |   2 +-
 .../glibc-2.19-akaros/sysdeps/akaros/syscall.c     |  13 +-
 user/benchutil/alarm.c                             |   1 +
 user/benchutil/pvcalarm.c                          |   3 +-
 user/parlib/Makefile                               |   6 +
 user/parlib/event.c                                |   3 +
 user/parlib/include/parlib/event.h                 |   1 +
 user/parlib/include/parlib/parlib.h                |   3 +
 user/parlib/include/parlib/uthread.h               |  11 +-
 user/parlib/include/parlib/vcore.h                 |   1 +
 user/parlib/include/parlib/x86/trap.h              |   2 +
 user/parlib/syscall.c                              |   2 +-
 user/parlib/thread0_sched.c                        |   5 +-
 user/parlib/uthread.c                              |  53 +-
 user/parlib/vcore.c                                |  18 +-
 user/pthread/pthread.c                             |  11 +-
 user/utest/cv.c                                    |   3 +
 user/utest/example.c                               |   3 +
 user/utest/include/utest.h                         |   3 +-
 user/utest/pvcalarm.c                              |   1 +
 user/utest/signal.c                                |   1 +
 user/vmm/apic.c                                    |   2 +-
 user/vmm/ioapic.c                                  |   2 +-
 user/vmm/sched.c                                   |   4 +-
 54 files changed, 970 insertions(+), 309 deletions(-)
 create mode 100644 kern/kfs/.bashrc
 create mode 100755 scripts/make_syscall_tbl.sh

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to