* mips-tdep.c (heuristic_proc_start): First time we print the

warning, elaborate.
	(_initialize_mips_tdep): Improve docstring for `set heur'.
This commit is contained in:
Jim Kingdon 1993-07-20 22:36:13 +00:00
parent f03b1f0d44
commit 23d3557255
2 changed files with 26 additions and 5 deletions

View File

@ -1,5 +1,9 @@
Tue Jul 20 12:53:47 1993 Jim Kingdon (kingdon@deneb.cygnus.com) Tue Jul 20 12:53:47 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
* mips-tdep.c (heuristic_proc_start): First time we print the
warning, elaborate.
(_initialize_mips_tdep): Improve docstring for `set heur'.
* config/rs6000/tm-rs6000.h: Remove call to insert_step_breakpoint. * config/rs6000/tm-rs6000.h: Remove call to insert_step_breakpoint.
* symtab.c (find_line_symtab): New function, to deal with multiple * symtab.c (find_line_symtab): New function, to deal with multiple

View File

@ -139,12 +139,25 @@ heuristic_proc_start(pc)
decstation). 22apr93 rich@cygnus.com. */ decstation). 22apr93 rich@cygnus.com. */
if (!stop_soon_quietly) if (!stop_soon_quietly)
{ {
static int blurb_printed = 0;
if (fence == VM_MIN_ADDRESS) if (fence == VM_MIN_ADDRESS)
warning("Hit beginning of text section without finding"); warning("Hit beginning of text section without finding");
else else
warning("Hit heuristic-fence-post without finding"); warning("Hit heuristic-fence-post without finding");
warning("enclosing function for pc 0x%x", pc); warning("enclosing function for address 0x%x", pc);
if (!blurb_printed)
{
printf_filtered ("\
This warning occurs if you are debugging a function without any symbols\n\
(for example, in a stripped executable). In that case, you may wish to\n\
increase the size of the search with the `set heuristic-fence-post' command.\n\
\n\
Otherwise, you told GDB there was a function where there isn't one, or\n\
(more likely) you have encountered a bug in GDB.\n");
blurb_printed = 1;
}
} }
return 0; return 0;
@ -286,8 +299,9 @@ find_proc_desc(pc, next_frame)
if (PROC_LOW_ADDR(&link->info) <= pc if (PROC_LOW_ADDR(&link->info) <= pc
&& PROC_HIGH_ADDR(&link->info) > pc) && PROC_HIGH_ADDR(&link->info) > pc)
return &link->info; return &link->info;
proc_desc = proc_desc =
heuristic_proc_desc(heuristic_proc_start(pc), pc, next_frame); heuristic_proc_desc (heuristic_proc_start (pc), pc, next_frame);
} }
return proc_desc; return proc_desc;
} }
@ -870,8 +884,11 @@ or dealing with return values.", &setlist),
add_show_from_set add_show_from_set
(add_set_cmd ("heuristic-fence-post", class_support, var_uinteger, (add_set_cmd ("heuristic-fence-post", class_support, var_uinteger,
(char *) &heuristic_fence_post, (char *) &heuristic_fence_post,
"Set the distance searched for the start of a function.\n\ "\
Set number of bytes to be searched backward to find the beginning of a\n\ Set the distance searched for the start of a function.\n\
function without symbols.", &setlist), If you are debugging a stripped executable, GDB needs to search through the\n\
program for the start of a function. This command sets the distance of the\n\
search. The only need to set it is when debugging a stripped executable.",
&setlist),
&showlist); &showlist);
} }