* 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:
parent
da5d405563
commit
ce40653717
3 changed files with 20 additions and 5 deletions
14
gdb/infcmd.c
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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue