aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2005-08-01 03:32:32 +0000
committerDaniel Jacobowitz <drow@false.org>2005-08-01 03:32:32 +0000
commit7ed0fe6656c577b8725f4c8f39b0820ca4346370 (patch)
tree8e866bbd7850b1fcae0aa373abf24f28ab8ee4a6 /gdb/infrun.c
parentc2dde2c9c92da83d3b055a4dd9978848db01a054 (diff)
downloadgdb-7ed0fe6656c577b8725f4c8f39b0820ca4346370.zip
gdb-7ed0fe6656c577b8725f4c8f39b0820ca4346370.tar.gz
gdb-7ed0fe6656c577b8725f4c8f39b0820ca4346370.tar.bz2
Suggested by Vladimir Prus <ghost@cs.msu.su>:
* infrun.c (handle_inferior_event): Check for line information in undebuggable functions.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index f0a3a5d..edaf17a 100644
--- a/gdb/infrun.c
+++ b/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
the trampoline processing logic, however, there are some trampolines
that have no names, so we should do trampoline handling first. */
if (step_over_calls == STEP_OVER_UNDEBUGGABLE
- && ecs->stop_func_name == NULL)
+ && ecs->stop_func_name == NULL
+ && ecs->sal.line == 0)
{
if (debug_infrun)
fprintf_unfiltered (gdb_stdlog, "infrun: stepped into undebuggable function\n");
/* The inferior just stepped into, or returned to, an
- undebuggable function (where there is no symbol, not even a
- minimal symbol, corresponding to the address where the
+ undebuggable function (where there is no debugging information
+ and no line number corresponding to the address where the
inferior stopped). Since we want to skip this kind of code,
we keep going until the inferior returns from this
function. */
@@ -2532,8 +2535,6 @@ process_event_stop_test:
return;
}
- ecs->sal = find_pc_line (stop_pc, 0);
-
if (ecs->sal.line == 0)
{
/* We have no line number information. That means to stop