This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [SPARC64] Figure out where a longjmp will land


> 2013-10-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
> 
> 	* sparc-tdep.c (sparc_is_annulled_branch_insn): New function.
> 	* sparc-tdep.h: And its prototype.
> 
> 	* sparc64-linux-tdep.c (sparc64_linux_get_longjmp_target): New
> 	function.
> 	(sparc64_linux_init_abi): Register the get_longjmp_target hook.

This looks reasonable to me, with a minor correction requested below.
But Sparc patches normally get reviewed by MarkK, so can you give it
another week before checking the final version in? (remember that
when you check something in that is different from the patch already
posted, an updated patch should be sent to the list, for the record).

I assume that this was validated against our testsuite, and that
no new regressions were detected?

Thank you.

> +/* Figure out where a longjmp will land.  Get the args out of the
> +   output registers.  We expect the first arg to be a pointer to the
> +   jmp_buf structure from which we extract the address that we will
> +   land at.  This address is copied into PC.  This routine returns
> +   non-zero on success.  */
> +
> +static int
> +sparc64_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)

This function is expected to implement a gdbarch callback, so you do
not need to repeat the spec, which is expected to already be documented
in gdbarch.h. Instead, use:

    /* Implement the "get_longjmp_target" gdbarch method.  */

This prevents maintenance issues if we start modifying the "method"'s
specifications.  If there is anything from the documentation that
you think is worth preserving locally, please do.

Now, I see that "method" is actually not documented, yet. I will try
fixing that as best as I can.

-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]