This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH] ARM: Eliminate EXTRA_FRAME_INFO & FRAME_FIND_SAVED_REGS
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Kevin Buettner <kevinb at redhat dot com>
- Cc: Richard dot Earnshaw at arm dot com, gdb-patches at sources dot redhat dot com
- Date: Mon, 14 Jan 2002 10:18:04 +0000
- Subject: Re: [PATCH] ARM: Eliminate EXTRA_FRAME_INFO & FRAME_FIND_SAVED_REGS
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> > 1) You don't seem to initialize the pointer fields in the static frame
> > structure "prologue_cache".
> My patch does this allocation in _initialize_arm_tdep() whereas yours
> does it in check_prologue_cache() and save_prologue_cache().
Argh! I even looked for this and couldn't find it :-( I suspect because
patch hasn't set the function signature correctly for the hunk....
@@ -2209,6 +2225,10 @@ The valid values are:\n");
add_com ("othernames", class_obscure, arm_othernames,
"Switch to the next set of register names.");
+ /* Allocate extra_info and saved_regs fields in the prologue cache. */
> > 2) Similarly you don't seem to be allocating the saved_regs for the
> > caller_fi frame (arm_frame_chain). You do, however, allocate the
> > extra_info.
> > 3) You have a cleanup for the extra_info allocated above, which I hadn't
> > thought about. I think one is also needed for the saved_regs.
> Are you sure? Here are what I believe to be the relevant lines from
> the arm_frame_chain hunk:
> + caller_fi.saved_regs = (CORE_ADDR *) xcalloc (1, SIZEOF_FRAME_SAVED_REGS);
> + old_chain = make_cleanup (xfree, caller_fi.saved_regs);
> + caller_fi.extra_info = xcalloc (1, sizeof (struct frame_extra_info));
> + make_cleanup (xfree, caller_fi.extra_info);
> saved_regs is being allocated and a cleanup is being created. Were you
> perhaps refering to some other hunk?
Doh! right again.
OK. I withdraw my version in favour of yours. All we need to do now is
get someone to approve it.