aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMarkus Metzger <mmetzger@sourceware.org>2013-09-18 13:02:42 +0000
committerMarkus Metzger <mmetzger@sourceware.org>2013-09-18 13:02:42 +0000
commit58c48e7253d94d36e3119134b0c41a99088bae89 (patch)
tree202c0997bb48d72060fd693471f95eb589b8be74 /gdb
parentc8d37639e3a23ed7349a17c3ac4d1407113eaa17 (diff)
downloadgdb-58c48e7253d94d36e3119134b0c41a99088bae89.zip
gdb-58c48e7253d94d36e3119134b0c41a99088bae89.tar.gz
gdb-58c48e7253d94d36e3119134b0c41a99088bae89.tar.bz2
When reverse-stepping, only insert a resume breakpoint at ecs->stop_func_start
if the function start is known. Otherwise, keep single-stepping.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/infrun.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5ae9a10..49660b4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-18 Markus Metzger <markus.t.metzger@intel.com>
+
+ * infrun.c (handle_inferior_event): Check if we know the
+ function start address before setting a resume breakpoint.
+
2013-09-18 Pedro Alves <palves@redhat.com>
* gnu-nat.c (set_sig_thread_cmd): Compare the thread's ptid to
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 9e4323c..8952b23 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4943,7 +4943,7 @@ process_event_stop_test:
or stepped back out of a signal handler to the first instruction
of the function. Just keep going, which will single-step back
to the caller. */
- if (ecs->stop_func_start != stop_pc)
+ if (ecs->stop_func_start != stop_pc && ecs->stop_func_start != 0)
{
struct symtab_and_line sr_sal;