aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-07-08 03:32:00 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-07-08 03:32:00 +0000
commit54023465250e1fb98fdb5bad7f8ebb0d95b55556 (patch)
tree85cd115aa89ff97d1e7071746f34a53e1d5638bc /gdb/infcmd.c
parentcb747ec55b1bde41cab4fd3cf052d15cc0408398 (diff)
downloadgdb-54023465250e1fb98fdb5bad7f8ebb0d95b55556.zip
gdb-54023465250e1fb98fdb5bad7f8ebb0d95b55556.tar.gz
gdb-54023465250e1fb98fdb5bad7f8ebb0d95b55556.tar.bz2
* infcmd.c (run_stack_dummy): New argument name.
Change error message in (another) attempt to make it comprehensible. * valops.c (call_function_by_hand): Pass name to run_stack_dummy. * symtab.h: Declare demangle and asm_demangle since macros use them.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 389ed17..4aaa791 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -530,14 +530,19 @@ signal_command (signum_exp, from_tty)
The dummy's frame is automatically popped whenever that break is hit.
If that is the first time the program stops, run_stack_dummy
returns to its caller with that frame already gone.
- Otherwise, the caller never gets returned to. */
+ Otherwise, the caller never gets returned to.
+
+ NAME is a string to print to identify the function which we are calling.
+ It is not guaranteed to be the name of a function, it could be something
+ like "at 0x4370" if a name can't be found for the function. */
/* DEBUG HOOK: 4 => return instead of letting the stack dummy run. */
static int stack_dummy_testing = 0;
void
-run_stack_dummy (addr, buffer)
+run_stack_dummy (name, addr, buffer)
+ char *name;
CORE_ADDR addr;
char buffer[REGISTER_BYTES];
{
@@ -553,10 +558,16 @@ run_stack_dummy (addr, buffer)
if (!stop_stack_dummy)
/* This used to say
- "Cannot continue previously requested operation". */
+ "The expression which contained the function call has been discarded."
+ It is a hard concept to explain in a few words. Ideally, GDB would
+ be able to resume evaluation of the expression when the function
+ finally is done executing. Perhaps someday this will be implemented
+ (it would not be easy). */
error ("\
The program being debugged stopped while in a function called from GDB.\n\
-The expression which contained the function call has been discarded.");
+When the function (%s) is done executing, GDB will silently\n\
+stop (instead of continuing to evaluate the expression containing\n\
+the function call).", name);
/* On return, the stack dummy has been popped already. */