Massif does not accept to take snapshots of heap before execution has started.
So, if such a snapshot is requested (using vgdb and option --vgdb-error=0),
then such a snapshot must be refused rather than causing an assert.
(problem reported by dark_footix@yahoo.fr)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13015
305948 [390] ppc64: code generation for ShlD64 / ShrD64 asserts
306054 [390] s390x: Condition code computation for convert-to-int/logical
307155 [390] filter_gdb should filter out syscall-template.S T_PSEUDO
-
+n-i-bz [390] report error for vgdb snapshot requested before execution
Release 3.8.1 (19 September 2012)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
Snapshot snapshot;
+ if (!clo_pages_as_heap && !have_started_executing_code) {
+ // See comments of variable have_started_executing_code.
+ VG_(gdb_printf)
+ ("error: cannot take snapshot before execution has started\n");
+ return;
+ }
+
clear_snapshot(&snapshot, /* do_sanity_check */ False);
take_snapshot(&snapshot, Normal, get_time(), detailed);
- write_snapshots_to_file ((filename == NULL) ? (Char*) "massif.vgdb.out" : filename,
+ write_snapshots_to_file ((filename == NULL) ?
+ (Char*) "massif.vgdb.out" : filename,
&snapshot,
1);
delete_snapshot(&snapshot);