diff options
author | Hui Zhu <teawater@gmail.com> | 2010-06-22 02:15:45 +0000 |
---|---|---|
committer | Hui Zhu <teawater@gmail.com> | 2010-06-22 02:15:45 +0000 |
commit | e726bfc98618407781409c3fd1c7a04fc8516e3d (patch) | |
tree | 4d63eb4abbb63a5309fdfaca8726734d4cd3327e /gdb/linux-record.c | |
parent | f66065f72a8d0df48829b337c5d516d92d51dd66 (diff) | |
download | gdb-e726bfc98618407781409c3fd1c7a04fc8516e3d.tar.gz |
2010-06-22 Hui Zhu <teawater@gmail.com>
* i386-tdep.c (i386_record_lea_modrm): Change warning to query.
(i386_process_record): Ditto.
* record.c (record_memory_query): New variable.
(_initialize_record): New command "set record memory-query".
* record.h (record_memory_query): New extern.
2010-06-22 Hui Zhu <teawater@gmail.com>
* gdb.texinfo: (Process Record and Replay): Add documentation
for command "set record memory-query".
Diffstat (limited to 'gdb/linux-record.c')
-rw-r--r-- | gdb/linux-record.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/gdb/linux-record.c b/gdb/linux-record.c index 1311f001d26..f07a889f671 100644 --- a/gdb/linux-record.c +++ b/gdb/linux-record.c @@ -695,21 +695,26 @@ record_linux_system_call (enum gdb_syscall syscall, case gdb_sys_munmap: { - int q; ULONGEST len; regcache_raw_read_unsigned (regcache, tdep->arg1, &tmpulongest); regcache_raw_read_unsigned (regcache, tdep->arg2, &len); - target_terminal_ours (); - q = yquery (_("The next instruction is syscall munmap. " - "It will free the memory addr = 0x%s len = %u. " - "It will make record target get error. " - "Do you want to stop the program?"), - OUTPUT_REG (tmpulongest, tdep->arg1), (int) len); - target_terminal_inferior (); - if (q) - return 1; + if (record_memory_query) + { + int q; + + target_terminal_ours (); + q = yquery (_("\ +The next instruction is syscall munmap.\n\ +It will free the memory addr = 0x%s len = %u.\n\ +It will make record target cannot record some memory change.\n\ +Do you want to stop the program?"), + OUTPUT_REG (tmpulongest, tdep->arg1), (int) len); + target_terminal_inferior (); + if (q) + return 1; + } } break; |