summaryrefslogtreecommitdiff
path: root/gdb/skip.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/skip.c')
-rw-r--r--gdb/skip.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/gdb/skip.c b/gdb/skip.c
index 05be42ab58d..419dd7a4682 100644
--- a/gdb/skip.c
+++ b/gdb/skip.c
@@ -209,18 +209,15 @@ skip_function_command (const char *arg, int from_tty)
/* Default to the current function if no argument is given. */
if (arg == NULL)
{
+ frame_info *fi = get_selected_frame (_("No default function now."));
+ struct symbol *sym = get_frame_function (fi);
const char *name = NULL;
- CORE_ADDR pc;
- if (!last_displayed_sal_is_valid ())
- error (_("No default function now."));
-
- pc = get_last_displayed_addr ();
- if (!find_pc_partial_function (pc, &name, NULL, NULL))
- {
- error (_("No function found containing current program point %s."),
- paddress (get_current_arch (), pc));
- }
+ if (sym != NULL)
+ name = sym->print_name ();
+ else
+ error (_("No function found containing current program point %s."),
+ paddress (get_current_arch (), get_frame_pc (fi)));
skip_function (name);
return;
}