Trouble is that cryptic warnings usually end up unnoticed
and unreported (users will just shrug at gdb's lameness).
If we clear the last displayed sal before issuing an internal
error, then we're more sure to catch the bug, and users can still say
no to "Quit this debugging session? (y or n)" and continue
debugging. WDYT?
diff --git a/gdb/stack.c b/gdb/stack.c
index 070d658..22b16a5 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -911,8 +911,9 @@ set_last_displayed_sal (int valid, struct program_space *pspace,
last_displayed_line = line;
if (valid&& pspace == NULL)
{
- warning (_("Trying to set NULL pspace."));
clear_last_displayed_sal ();
+ internal_error (__FILE__, __LINE__,
+ _("Trying to set NULL pspace."));
}
}