mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
vgdb.c contained (conditionally compiled) "invoker" code to have ptrace syscalls used to allow gdb/vgdb to connect to a valgrind process blocked in a syscall. This "invoker" code is ptrace based. Not all platforms are using ptrace. => refactor vgdb so as allow invoker code to be added more cleanly for non ptrace based platforms (e.g. Darwin, Solaris). * add file vgdb.h for: - definition of the vgdb-invoker interface - common declarations between vgdb.c and vgdb-invoker implementations * move ptrace related code from vgdb.c to new file vgdb-invoker-ptrace.c * new file vgdb-invoker-none.c containing an empty invoker implementation used on platforms that do not (yet) have a invoker implementation (e.g. android and darwin). * modified Makefile.am to use one of the vgdb-invoker-*.c file depending on the platform. * small changes related to changing ptraceinvoker to invoker in various files: gdbserver_tests/make_local_links, gdbserver_tests/nlcontrolc.vgtest, gdbserver_tests/mcinvokeRU.vgtest, gdbserver_tests/nlsigvgdb.vgtest gdbserver_tests/mcinvokeWS.vgtest, coregrind/m_gdbserver/README_DEVELOPERS Patch from Ivo Raisr, slightly modified git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13743
15 lines
727 B
Plaintext
15 lines
727 B
Plaintext
# test that vgdb can invoke a process when all threads are in Runnable or Yielding mode
|
|
# If the test goes wrong, it might consume CPU during a long time.
|
|
prog: sleepers
|
|
args: 1 0 1000000000 B-B-B-B-
|
|
vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeRU
|
|
stderr_filter: filter_make_empty
|
|
# as the Valgrind process is always busy, we do not need the vgdb.invoker prereq.
|
|
# We even disable invoker to avoid spurious attach error message
|
|
# on kernels where ptrace is restricted.
|
|
progB: invoker
|
|
argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeRU --max-invoke-ms=0 --wait=60 -c v.wait 0
|
|
# if the --wait is not enough, the test will fail or block.
|
|
stdoutB_filter: filter_memcheck_monitor
|
|
stderrB_filter: filter_vgdb
|