470121 Can't run callgrind_control with valgrind 3.21.0 because of perl errors
470520 Multiple realloc zero errors crash in MC_(eq_Error)
470713 Failure on the Yosys project: valgrind: m_libcfile.c:1802
- (Bool vgPlain_realpath(const HChar *, HChar *)): Assertion 'resolved' failed
+ (Bool vgPlain_realpath(const HChar *, HChar *)):
+ Assertion 'resolved' failed
+470830 Don't print actions vgdb me ... continue for vgdb --multi mode
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
if (VG_(clo_vgdb) != Vg_VgdbNo
&& allow_db_attach
&& VG_(clo_vgdb_error) <= n_errs_shown) {
- VG_(umsg)("(action on error) vgdb me ... \n");
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action on error) vgdb me ... \n");
VG_(gdbserver)( err->tid );
- VG_(umsg)("Continuing ...\n");
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("Continuing ...\n");
}
/* Or maybe we want to generate the error's suppression? */
// Using VG_(clo_vgdb_error) allows the user to control if gdbserver
// stops after a fork.
if ((VG_(clo_vgdb_error) == 0
- || (VgdbStopAtiS(VgdbStopAt_Startup, VG_(clo_vgdb_stop_at))))
- && !(VG_(clo_launched_with_multi))) {
+ || (VgdbStopAtiS(VgdbStopAt_Startup, VG_(clo_vgdb_stop_at))))) {
/* The below call allows gdb to attach at startup
before the first guest instruction is executed. */
- VG_(umsg)("(action at startup) vgdb me ... \n");
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action at startup) vgdb me ... \n");
VG_(gdbserver)(tid);
} else {
/* User has activated gdbserver => initialize now the FIFOs
return;
}
- VG_(umsg)("(action on fatal signal) vgdb me ... \n");
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action on fatal signal) vgdb me ... \n");
/* indicate to gdbserver that there is a signal */
gdbserver_signal_encountered (info);
if (status != 0
&& VgdbStopAtiS(VgdbStopAt_ValgrindAbExit, VG_(clo_vgdb_stop_at))) {
if (VG_(gdbserver_init_done)()) {
- VG_(umsg)("(action at valgrind abnormal exit) vgdb me ... \n");
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action at valgrind abnormal exit) vgdb me ... \n");
VG_(gdbserver) (atid);
} else {
VG_(umsg)("(action at valgrind abnormal exit)\n"
/* Final call to gdbserver, if requested. */
if (VG_(gdbserver_stop_at) (VgdbStopAt_Abexit)
&& tid_exit_code (tid) != 0) {
- VG_(umsg)("(action at abexit, exit code %d) vgdb me ... \n",
- tid_exit_code (tid));
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action at abexit, exit code %d) vgdb me ... \n",
+ tid_exit_code (tid));
VG_(gdbserver) (tid);
} else if (VG_(gdbserver_stop_at) (VgdbStopAt_Exit)) {
- VG_(umsg)("(action at exit, exit code %d) vgdb me ... \n",
- tid_exit_code (tid));
+ if (!(VG_(clo_launched_with_multi)))
+ VG_(umsg)("(action at exit, exit code %d) vgdb me ... \n",
+ tid_exit_code (tid));
VG_(gdbserver) (tid);
}
VG_(threads)[tid].status = VgTs_Empty;