tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Request for implementation of KERN_PROC_SIGTRAMP sysctl
On Wed, Oct 27, 2021 at 07:50:55 -0700, Jason Thorpe wrote:
> > On Oct 18, 2021, at 9:41 AM, John Marino (NetBSD) <netbsd%marino.st@localhost> wrote:
> > 
> > yes, it sounds like a __in_signal_trampoline function would work for
> > the GCC unwind, and I would think it would work for GDB as well.
> 
> Ok, I have implemented a new function with this signature:
> 
> /*
>  * __sigtramp_check_np --
>  *
>  *      Non-portable function that checks if the specified program
>  *      counter value is within the signal return trampoline.  Returns
>  *      the trampoline version numnber corresponding to what style of
>  *      trampoline it matches, or -1 if the program value is not within
>  *      the signal return trampoline.
>  */
> int __sigtramp_check_np(void *pc);
> 
> Usage would be like:
[... lots of code ...]
I was wondering if it might be easier to not put the onus onto the
caller and instead have a function that returns the interrupted
ucontext (or NULL, if the pc is not in a trampoline).
ucontext_t *__unwind_sigtramp(return_pc, return_sp)
-uwe
Home |
Main Index |
Thread Index |
Old Index