Matthias Weckbecker <matth...@weckbecker.name> writes:

> This commit adds a new syscalls plugin that displays the syscalls
> as they are executed and returned. This plugin outputs the number
> of the syscall as well as the syscall return value.
>
> Works in *-user only.
>
> Essentially, this commit restores:
>
>   https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg00846.html
>
> by using the new QEMU plugin API.

Sorry I missed this last year, I've queued to plugins/next. That said in
it's current form you basically replicate what you already have with
-strace:

  ./qemu-aarch64 -strace -d plugin -plugin ./tests/plugin/libsyscall.so 
./tests/tcg/aarch64-linux-user/testthread
  syscall #214
  13165 brk(NULL) = 0x000000000049a000
  syscall #214 returned -> 4825088
  syscall #214
  13165 brk(0x000000000049af90) = 0x000000000049af90
  syscall #214 returned -> 4829072
  syscall #160
  13165 uname(0x5500800498) = 0
  syscall #160 returned -> 0
  syscall #96
  13165 set_tid_address(4825296,0,4294967293,4826880,4825088,253) = 13165
  syscall #96 returned -> 13165

So it would be nice to make the default maybe do something more useful
(like emulate strace -C output). You could certainly keep the verbose
output controlled by a flag.

Still as it is it at least ensures we exercise the code ;-)

-- 
Alex Bennée

Reply via email to