[Bug target/95571] xtensa stack unwinding doesn't work well with asynchronous register spilling

2020-06-08 Thread jcmvbkbc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95571

jcmvbkbc at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #4 from jcmvbkbc at gcc dot gnu.org ---
Fix committed to the gcc master.

[Bug target/95571] xtensa stack unwinding doesn't work well with asynchronous register spilling

2020-06-08 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95571

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Max Filippov :

https://gcc.gnu.org/g:1d9921cbdc732e1a7fc66b9c24a6dfa9625bd4c0

commit r11-1078-g1d9921cbdc732e1a7fc66b9c24a6dfa9625bd4c0
Author: Max Filippov 
Date:   Sat Jun 6 05:06:04 2020 -0700

xtensa: libgcc: fix PR target/95571

Rewrite uw_install_context without function calls to avoid register
spilling in _Unwind_RaiseException during return context installation.

2020-06-08  Max Filippov  
gcc/testsuite/
* g++.target/xtensa/pr95571.C: New test.
* g++.target/xtensa/xtensa.exp: New testsuite.

libgcc/
* config/xtensa/unwind-dw2-xtensa.c (uw_install_context): Merge
with uw_install_context_1.

[Bug target/95571] xtensa stack unwinding doesn't work well with asynchronous register spilling

2020-06-08 Thread jcmvbkbc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95571

jcmvbkbc at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #48699|0   |1
is obsolete||

--- Comment #2 from jcmvbkbc at gcc dot gnu.org ---
Created attachment 48701
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48701=edit
minimal reproducer

Correct reproducer version.

[Bug target/95571] xtensa stack unwinding doesn't work well with asynchronous register spilling

2020-06-08 Thread jcmvbkbc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95571

--- Comment #1 from jcmvbkbc at gcc dot gnu.org ---
Created attachment 48699
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48699=edit
minimal reproducer

Reproducer spills active register windows in a substitute memcpy as could be
done by an interrupt handler.