> For a simple example, just compare the results of ``strace date'' and 
> ``valgrind --trace-syscalls=yes date'' on Linux.
>
> E.g., it records syscalls only related to Valgrind, like
> sys_open ( 0x40244a0(/usr/local/lib/valgrind/vgpreload_core-amd64-linux.so)
> sys_open ( 
> 0x40249d8(/usr/local/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
>
> It also has other different operations like memory/signal/file operations, 
> sysctl, etc.
>
> How to tell which are extra ones caused by Valgrind, which are not?

A filename which contains 
"valgrind/vgpreload_<tool-name>-<arch-name>-<os-name>.so"
gives a hint that syscalls (or calls to wrappers for syscalls)
from such a file should be re-directed to the non-traced versions.
Depending on the details of how the current non-interception operates,
such re-direction could be done when processing pre-loaded libraries,
or might require a dynamic check of the program counter
for every syscall that is simulated.


------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to