On 18/07/17 23:50 -0600, Jeff Law wrote:
On 07/07/2017 05:17 PM, John Marino wrote:
Right after DragonFly 4.8 was released (27 Mar 2017), the signal
trampoline was moved (twice) in response to a Ryzen bug.  This broke
GCC's unwind support for DragonFly.

To avoid hardcoding the sigtramp location to avoid issues like this in
the future, a new sysctl was added to DragonFly to return the signal
trampoline address range (FreeBSD has a similar sysctl for similar
reasons).  The attached patch fixes DragonFly unwind support for current
DragonFly, and maintains support for Release 4.8 and earlier.

This patch has been in use for a few months and works fine.  It is
similar in function to the FreeBSD Aarch64 unwind support I submitted
through Andreas T. a few months ago.

I believe the patch can be applied to trunk and release 7 branch.
I am the closest thing to a maintainer for DragonFly, so I don't know if
additional approval is needed.  This patch is purely DragonFly-specific
and cannot affect other platforms in any way.

If agreed, it would be great if somebody could commit this for me
against the trunk and GCC-7-branch.

Thanks!
John

P.S.  Yes, my copyright assignment is on file (I've contributed a few
patches already).

suggested log entry of libgcc/ChangeLog:

2017-07-XX  John Marino  <gnu...@marino.st>
       * config/i386/dragonfly-unwind.h: Handle sigtramp relocation.

This is fine.  Sorry it's taken so long for me to get to this.

John, I've committed this for you, but didn't test on DragonFly, so
please check it.


Reply via email to