On Friday, November 10, 2017 01:17:26 AM John Baldwin wrote:
> Author: jhb
> Date: Fri Nov 10 01:17:26 2017
> New Revision: 325624
> URL: https://svnweb.freebsd.org/changeset/base/325624
> 
> Log:
>   Some fixups to the CFI directives for PLT stub entry points.
>   
>   The directives I added in r323466 and r323501 did not define a valid
>   CFA until several instructions into the associated functions.  This
>   triggers an assertion in GDB when generating a stack trace while
>   stopped at the first instruction of PLT stub entry point since there
>   is no valid CFA rule for the first instruction.
>   
>   This is probably just wrong on my part as the non-simple .cfi_startproc
>   would have defined a valid CFA.  Instead, define a valid CFA as sp + 0
>   at the start of the functions and then use .cfa_def_offset to change the
>   offset when sp is adjusted later in the function.
>   
>   Sponsored by:       DARPA / AFRL

Forgot to note: also explicitly set .cfi_sections to only include
unwind info in .debug_frame as none of these functions catch exceptions.

-- 
John Baldwin
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to