[i386newframe/PATCH] New i386newframe branch
Mark Kettenis
kettenis@chello.nl
Thu May 1 20:54:00 GMT 2003
Date: Mon, 28 Apr 2003 18:22:36 -0400
From: Andrew Cagney <ac131313@redhat.com>
> +static int
> +i386_frameless_function_invocation (struct frame_info *frame)
> {
I'd consider deleting it.
For non legacy architectures, apart from appending "(FRAMELESS)" to the
output of "info frame", that architecture method does nothing useful
(and even this is marginal :-). I think a per frame
PRINT_EXTRA_FRAME_INFO like function would be more useful.
Alternatively, a per-frame ``frameless'' attribute could be added.
Sounds good to me!
> +const struct frame_unwind *
> +i386_frame_p (CORE_ADDR pc)
> +{
> + char *name;
> +
> + find_pc_partial_function (pc, &name, NULL, NULL);
> + if (PC_IN_SIGTRAMP (pc, name))
> + return &i386_sigtramp_frame_unwind;
The intent was for there to be one predicate function per unwinder. So
the below would be in a separate unwinder, registered separatly.
And you want me to set the right example :-). No problem.
> + return &i386_frame_unwind;
> +}
Have you tried adding just the sigtramp unwinder? I should get just
that addition debugged regardless - it should make migrating other ISAs
easier.
No I haven't. I don't think I can. The problem is that I simplified
the sigtramp unwinder a bit. However in order to do so, I need to be
able to trust the normal unwinder to unwind the stack pointer
correctly. Unfortunately the current code is a bit sloppy about this.
Mark
More information about the Gdb-patches
mailing list