|
From: <sv...@va...> - 2005-09-29 00:35:23
|
Author: njn
Date: 2005-09-29 01:35:18 +0100 (Thu, 29 Sep 2005)
New Revision: 4817
Log:
Add an explanatory message for when instruction decoding fails.
Modified:
trunk/coregrind/m_scheduler/scheduler.c
Modified: trunk/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_scheduler/scheduler.c 2005-09-29 00:31:40 UTC (rev =
4816)
+++ trunk/coregrind/m_scheduler/scheduler.c 2005-09-29 00:35:18 UTC (rev =
4817)
@@ -780,6 +780,15 @@
}
=20
case VEX_TRC_JMP_NODECODE:
+#define M(a) VG_(message)(Vg_UserMsg, a);
+ M("Your program just tried to execute an instruction that Valgrind");
+ M("did not recognise. This might be because your program has a bug")=
;
+ M("and erroneously jumped to a non-code location. If you are running=
");
+ M("Memcheck, you might have just seen a warning about a bad jump,");
+ M("which is a good indication that this is so. Or it might be" );
+ M("because the instruction is unimplemented in Valgrind; if you");
+ M("think this is the case, or you are not sure, please let us know.")=
;
+#undef M
VG_(synth_sigill)(tid, VG_(get_IP)(tid));
break;
=20
|