/* Called when some unhandleable client behaviour is detected.
Prints a msg and aborts. */
extern void VG_(unimplemented) ( Char* msg );
+extern void VG_(nvidia_moan) ( void );
/* The stack on which Valgrind runs. We can't use the same stack as the
simulatee -- that's an important design decision. */
/* Print some helpful-ish text about unimplemented things, and give
up. */
-extern void VG_(unimplemented) ( Char* msg )
+void VG_(unimplemented) ( Char* msg )
{
VG_(message)(Vg_UserMsg, "");
VG_(message)(Vg_UserMsg,
}
+void VG_(nvidia_moan) ( void)
+{
+ VG_(message)(Vg_UserMsg,
+ "The following failure _might_ be caused by linking to NVidia's\n "
+ "libGL.so, so avoiding it, if you can, _might_ help you. For example,\n "
+ "re-build any Qt libraries you are using without OpenGL support.");
+}
+
+
/*--------------------------------------------------------------------*/
/*--- end vg_main.c ---*/
/*--------------------------------------------------------------------*/
default:
VG_(printf)("disInstr: unhandled opcode 0x%x then 0x%x\n",
(UInt)opc, (UInt)getUChar(eip));
+ if (opc == 0x8C)
+ VG_(nvidia_moan)();
VG_(panic)("unhandled x86 opcode");
}
/* Called when some unhandleable client behaviour is detected.
Prints a msg and aborts. */
extern void VG_(unimplemented) ( Char* msg );
+extern void VG_(nvidia_moan) ( void );
/* The stack on which Valgrind runs. We can't use the same stack as the
simulatee -- that's an important design decision. */
/* Print some helpful-ish text about unimplemented things, and give
up. */
-extern void VG_(unimplemented) ( Char* msg )
+void VG_(unimplemented) ( Char* msg )
{
VG_(message)(Vg_UserMsg, "");
VG_(message)(Vg_UserMsg,
}
+void VG_(nvidia_moan) ( void)
+{
+ VG_(message)(Vg_UserMsg,
+ "The following failure _might_ be caused by linking to NVidia's\n "
+ "libGL.so, so avoiding it, if you can, _might_ help you. For example,\n "
+ "re-build any Qt libraries you are using without OpenGL support.");
+}
+
+
/*--------------------------------------------------------------------*/
/*--- end vg_main.c ---*/
/*--------------------------------------------------------------------*/
# if defined(__NR_modify_ldt)
case __NR_modify_ldt:
+ VG_(nvidia_moan)();
VG_(unimplemented)
- ("modify_ldt(): I (JRS) haven't investigated this yet; sorry.\n "
- "This might be caused by linking to NVidia's libGL.so, so\n "
- "avoiding it, if you can, _might_ help you. For example,\n "
- "re-build any Qt libraries you are using without OpenGL support.");
+ ("modify_ldt(): I (JRS) haven't investigated this yet; sorry.");
break;
# endif
default:
VG_(printf)("disInstr: unhandled opcode 0x%x then 0x%x\n",
(UInt)opc, (UInt)getUChar(eip));
+ if (opc == 0x8C)
+ VG_(nvidia_moan)();
VG_(panic)("unhandled x86 opcode");
}