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