* 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.
This commit is contained in:
Pedro Alves 2011-03-22 14:39:40 +00:00
parent da5d405563
commit ce40653717
3 changed files with 20 additions and 5 deletions

View file

@ -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)
{