Browse Source

* infcmd.c (post_create_inferior): Ignore NOT_AVAILABLE_ERROR

errors when reading the `stop_pc'.
	* printcmd.c (pc_prefix): Use get_frame_pc_if_available instead of
	get_frame_pc.
gdb_7_3-branch
Pedro Alves 16 years ago
parent
commit
ce40653717
  1. 7
      gdb/ChangeLog
  2. 14
      gdb/infcmd.c
  3. 4
      gdb/printcmd.c

7
gdb/ChangeLog

@ -1,3 +1,10 @@
2011-03-22 Pedro Alves <pedro@codesourcery.com>
* infcmd.c (post_create_inferior): Ignore NOT_AVAILABLE_ERROR
errors when reading the `stop_pc'.
* printcmd.c (pc_prefix): Use get_frame_pc_if_available instead of
get_frame_pc.
2011-03-22 Phil Muldoon <pmuldoon@redhat.com>
* NEWS: Document gdb.Write stream keyword.

14
gdb/infcmd.c

@ -395,6 +395,8 @@ strip_bg_char (char **args)
void
post_create_inferior (struct target_ops *target, int from_tty)
{
volatile struct gdb_exception ex;
/* Be sure we own the terminal in case write operations are performed. */
target_terminal_ours ();
@ -404,8 +406,16 @@ post_create_inferior (struct target_ops *target, int from_tty)
don't need to. */
target_find_description ();
/* Now that we know the register layout, retrieve current PC. */
stop_pc = regcache_read_pc (get_current_regcache ());
/* Now that we know the register layout, retrieve current PC. But
if the PC is unavailable (e.g., we're opening a core file with
missing registers info), ignore it. */
stop_pc = 0;
TRY_CATCH (ex, RETURN_MASK_ERROR)
{
stop_pc = regcache_read_pc (get_current_regcache ());
}
if (ex.reason < 0 && ex.error != NOT_AVAILABLE_ERROR)
throw_exception (ex);
if (exec_bfd)
{

4
gdb/printcmd.c

@ -759,9 +759,7 @@ pc_prefix (CORE_ADDR addr)
CORE_ADDR pc;
frame = get_selected_frame (NULL);
pc = get_frame_pc (frame);
if (pc == addr)
if (get_frame_pc_if_available (frame, &pc) && pc == addr)
return "=> ";
}
return " ";

Loading…
Cancel
Save