From: Pedro Alves Date: Wed, 10 Dec 2008 21:32:15 +0000 (+0000) Subject: * infcmd.c (until_next_command, finish_backward): Use get_frame_pc X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1c7819ef32f4a2bfff86d67440134bc1dfd45755;p=binutils-gdb.git * infcmd.c (until_next_command, finish_backward): Use get_frame_pc instead of read_pc. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cb3917f1547..67b6515fd55 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-12-10 Pedro Alves + + * infcmd.c (until_next_command, finish_backward): Use get_frame_pc + instead of read_pc. + 2008-12-09 Tom Tromey PR gdb/1815: diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 9bfe2d496ca..d6772d3ce6f 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1181,7 +1181,7 @@ until_next_command (int from_tty) than the current line (if in symbolic section) or pc (if not). */ - pc = read_pc (); + pc = get_frame_pc (frame); func = find_pc_function (pc); if (!func) @@ -1405,11 +1405,13 @@ finish_backward (struct symbol *function) struct thread_info *tp = inferior_thread (); struct breakpoint *breakpoint; struct cleanup *old_chain; + CORE_ADDR pc; CORE_ADDR func_addr; int back_up; - if (find_pc_partial_function (get_frame_pc (get_current_frame ()), - NULL, &func_addr, NULL) == 0) + pc = get_frame_pc (get_current_frame ()); + + if (find_pc_partial_function (pc, NULL, &func_addr, NULL) == 0) internal_error (__FILE__, __LINE__, _("Finish: couldn't find function.")); @@ -1426,7 +1428,7 @@ finish_backward (struct symbol *function) no way that a function up the stack can have a return address that's equal to its entry point. */ - if (sal.pc != read_pc ()) + if (sal.pc != pc) { /* Set breakpoint and continue. */ breakpoint =