ftmemsim-valgrind/gdbserver_tests/mcwatchpoints.stdoutB.exp
Philippe Waroquiers 3f6aae03c9 Fix assert in gdbserver for watchpoints watching the same address
GDB can create watchpoints watching the same address.
This was causing assertion failures.
To handle this, hash table (with key watched address) is replaced
by an xarray of address/lengh/kind.
Fully identical watches are ignored (either not inserted, and
not causing a problem if already deleted).

gdbserver_tests/mcwatchpoint enhanced to test duplicated watchpoints



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12637
2012-06-14 19:56:20 +00:00

35 lines
1.2 KiB
Plaintext

Breakpoint 1 at 0x........: file watchpoints.c, line 7.
Continuing.
Breakpoint 1, breakme (line=19) at watchpoints.c:7
7 fprintf(stderr, "breakme function called from line %d\n", line);
Hardware read watchpoint 2: undefined[0]
Hardware access (read/write) watchpoint 3: undefined[4]
Hardware watchpoint 4: undefined[8]
Hardware read watchpoint 5: undefined[9]
Hardware access (read/write) watchpoint 6: undefined[9]
Hardware watchpoint 7: undefined[9]
Continuing.
Hardware read watchpoint 2: undefined[0]
Value = 117 'u'
main (argc=1, argv=0x........) at watchpoints.c:23
23 if (undefined[0] == 'u')
Continuing.
Hardware access (read/write) watchpoint 3: undefined[4]
Value = 102 'f'
main (argc=1, argv=0x........) at watchpoints.c:28
28 if (undefined[4] == 'f')
Continuing.
Hardware access (read/write) watchpoint 3: undefined[4]
Old value = 102 'f'
New value = 70 'F'
main (argc=1, argv=0x........) at watchpoints.c:46
46 fprintf(stderr, "before writing 8\n");
Continuing.
Hardware watchpoint 4: undefined[8]
Old value = 100 'd'
New value = 68 'D'
main (argc=1, argv=0x........) at watchpoints.c:49
49 fprintf(stderr, "after writing 8\n");
Delete all breakpoints? (y or n) [answered Y; input not from terminal]
Continuing.