summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authormmetzger <mmetzger>2013-09-18 13:02:42 +0000
committermmetzger <mmetzger>2013-09-18 13:02:42 +0000
commit46ba1bad0e9a308b12ebf1b1f31c9839df3cd33f (patch)
tree8e4c0860d3c353a1cf7b84dc6f5169dcf71df7e4 /gdb
parent61a0fb214b24b426cdd76a876498c31785d957aa (diff)
downloadgdb-46ba1bad0e9a308b12ebf1b1f31c9839df3cd33f.tar.gz
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 5ae9a107752..49660b4dc19 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 9e4323c72e2..8952b23a96a 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;