mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 07:53:51 +08:00
Suggested by Vladimir Prus <ghost@cs.msu.su>:
* infrun.c (handle_inferior_event): Check for line information in undebuggable functions.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2005-07-31 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
Suggested by Vladimir Prus <ghost@cs.msu.su>:
|
||||||
|
* infrun.c (handle_inferior_event): Check for line information in
|
||||||
|
undebuggable functions.
|
||||||
|
|
||||||
2005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
2005-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||||
|
|
||||||
* cli-out.c (cli_field_fmt, cli_message, out_field_fmt): Add
|
* cli-out.c (cli_field_fmt, cli_message, out_field_fmt): Add
|
||||||
|
11
gdb/infrun.c
11
gdb/infrun.c
@ -2485,18 +2485,21 @@ process_event_stop_test:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ecs->sal = find_pc_line (stop_pc, 0);
|
||||||
|
|
||||||
/* NOTE: tausq/2004-05-24: This if block used to be done before all
|
/* NOTE: tausq/2004-05-24: This if block used to be done before all
|
||||||
the trampoline processing logic, however, there are some trampolines
|
the trampoline processing logic, however, there are some trampolines
|
||||||
that have no names, so we should do trampoline handling first. */
|
that have no names, so we should do trampoline handling first. */
|
||||||
if (step_over_calls == STEP_OVER_UNDEBUGGABLE
|
if (step_over_calls == STEP_OVER_UNDEBUGGABLE
|
||||||
&& ecs->stop_func_name == NULL)
|
&& ecs->stop_func_name == NULL
|
||||||
|
&& ecs->sal.line == 0)
|
||||||
{
|
{
|
||||||
if (debug_infrun)
|
if (debug_infrun)
|
||||||
fprintf_unfiltered (gdb_stdlog, "infrun: stepped into undebuggable function\n");
|
fprintf_unfiltered (gdb_stdlog, "infrun: stepped into undebuggable function\n");
|
||||||
|
|
||||||
/* The inferior just stepped into, or returned to, an
|
/* The inferior just stepped into, or returned to, an
|
||||||
undebuggable function (where there is no symbol, not even a
|
undebuggable function (where there is no debugging information
|
||||||
minimal symbol, corresponding to the address where the
|
and no line number corresponding to the address where the
|
||||||
inferior stopped). Since we want to skip this kind of code,
|
inferior stopped). Since we want to skip this kind of code,
|
||||||
we keep going until the inferior returns from this
|
we keep going until the inferior returns from this
|
||||||
function. */
|
function. */
|
||||||
@ -2532,8 +2535,6 @@ process_event_stop_test:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecs->sal = find_pc_line (stop_pc, 0);
|
|
||||||
|
|
||||||
if (ecs->sal.line == 0)
|
if (ecs->sal.line == 0)
|
||||||
{
|
{
|
||||||
/* We have no line number information. That means to stop
|
/* We have no line number information. That means to stop
|
||||||
|
Reference in New Issue
Block a user