https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68945

--- Comment #9 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 38413
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38413&action=edit
sparcv9 support patch

This patch (on top of the previous one) fixes the sparcv9 failures reported
before.

As I'd suspected, the problem was that the code didn't take the SPARC V9 stack
bias into account: in a couple of places, the stack and frame pointers in the
__builtin_setjmp/__builtin_longjmp internal jmpbuf are overwritten with
unbiased
addresses.

The patch includes both debugging code (assertions to check that the stack
pointer
is either biased or unbiased) and CILK_ADJUST_SP/CILK_UNADJUST_SP macros to
turn
a stack pointer from unbiased to biased form.

The patch is enough to successfully run all Cilk Plus in the gcc and g++
testsuites
successfully on sparc-sun-solaris2.10, but there may be code paths that also
need
adjustments.

I'm just posting the patch (which is relative to upstream libcilkrts, which
should
be merged into mainline any day now) for reference and comments.

  Rainer

Reply via email to