|
From: <sv...@va...> - 2008-03-06 18:31:43
|
Author: sewardj
Date: 2008-03-06 18:31:42 +0000 (Thu, 06 Mar 2008)
New Revision: 7579
Log:
Don't tell m_redir (and the user) that debuginfo is about to be
discarded if in fact we never got as far as reading anything into
DebugInfo. This unbreaks self-hosting.
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2008-03-06 18:02:37 UTC (rev 7578)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2008-03-06 18:31:42 UTC (rev 7579)
@@ -276,7 +276,8 @@
while (curr) {
if (curr == di) {
/* Found it; remove from list and free it. */
- if (VG_(clo_verbosity) > 1 || VG_(clo_trace_redir))
+ if (curr->have_dinfo
+ && (VG_(clo_verbosity) > 1 || VG_(clo_trace_redir)))
VG_(message)(Vg_DebugMsg,
"Discarding syms at %p-%p in %s due to %s()",
di->text_avma,
@@ -285,7 +286,8 @@
reason);
vg_assert(*prev_next_ptr == curr);
*prev_next_ptr = curr->next;
- VG_(redir_notify_delete_DebugInfo)( curr );
+ if (curr->have_dinfo)
+ VG_(redir_notify_delete_DebugInfo)( curr );
free_DebugInfo(curr);
return;
}
|