mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
on various platforms:
* In all gdbserver_tests using gdb:
Made a more general way to remove the initial start message.
* tests using threads burning cpu modified to have only 1 thread.
This makes them independent of the scheduler fairness.
* filter_gdb and filter_vgdb enhanced to anonymise
some debian 6.0/ppc specific things
some s390x/gdb 7.0, gdb 7.1 specific things
* vgdb.c: added an #include <linux/ptrace.h> to fix compilation
on s390x fedora and suse. (Christian Boerntrager)
* fixed a bug in valgrind-low.c debug log :
when a register size is 0, its image cannot be output (and register
should not be transferred).
* added a parameter --keep-unfiltered to vg_regtest.in
This will make it easier to update filter_gdb:
in case gdbserver_tests are failing due to "artificial"
differences to be filtered, re-run the tests using:
perl tests/vg_regtest --keep-unfiltered gdbserver_tests
Then a tar file with all the *.out in gdbserver_tests
will allow me to better/faster update the filter_gdb.
* made a better detection of a working PTRACE_GETREGS at compile time
and/or at run-time.
This is the patch on bug 214909 comment 69.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11740
70 lines
1.3 KiB
Plaintext
70 lines
1.3 KiB
Plaintext
# connect gdb to Valgrind gdbserver:
|
|
target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcbreak
|
|
echo vgdb launched process attached\n
|
|
monitor vg.set vgdb-error 999999
|
|
#
|
|
define checkstep
|
|
set $old_pc=$pc
|
|
step
|
|
if $old_pc == $pc
|
|
echo Bizarre the oldpc has not changed after step\n
|
|
print $oldpc
|
|
print $pc
|
|
else
|
|
echo old_pc has changed after step\n
|
|
end
|
|
end
|
|
#
|
|
# break1 and break2
|
|
break t.c:112
|
|
break t.c:117
|
|
#
|
|
continue
|
|
# first break encountered.
|
|
checkstep
|
|
checkstep
|
|
checkstep
|
|
#
|
|
monitor vg.set vgdb-error 0
|
|
#
|
|
next
|
|
print whoami("first")
|
|
print undefined
|
|
print i
|
|
checkstep
|
|
checkstep
|
|
next
|
|
print whoami("second")
|
|
print undefined
|
|
print i
|
|
next
|
|
print whoami("third")
|
|
print undefined
|
|
print i
|
|
next
|
|
print whoami("fourth")
|
|
print undefined
|
|
print i
|
|
# modify sleeps so as to have a shorter test:
|
|
print sleeps=1
|
|
#
|
|
print whoami("after next: inferior call pushed from mcbreak.stdinB.gdb")
|
|
continue
|
|
#
|
|
# encountered second break
|
|
step
|
|
finish
|
|
# delete all breaks
|
|
delete
|
|
continue
|
|
monitor vg.info n_errs_found
|
|
# inferior call "in the middle" of an instruction is not working at least
|
|
# on all platforms, so comment the below.
|
|
# print whoami("after error: inferior call pushed from mcbreak.stdinB.gdb")
|
|
checkstep
|
|
monitor vg.set vgdb-error 0
|
|
continue
|
|
# stop the process a.o. to avoid non deterministic output
|
|
monitor vg.kill
|
|
quit
|