On 10/13/2016 09:15 AM, Segher Boessenkool wrote:
PR77962 shows Go failing on 32-bit x86.  This happens because the i386
port requires the split stack prologue to be created before the normal
prologue, and my previous patch changed it to be the other way around.

This patch changes it back.  Things will be exactly as before for targets
that do not do shrink-wrapping for separate components.  For targets
that *do* support it, all three prologue/epilogue creation functions
will now be called twice for functions that have anything wrapped
separately (instead of just the prologue created twice).

Bootstrapping+testing on powerpc64-linux {-m64,-m32}, all languages;
and on x86_64-linux all,go,obj-c++ (i.e. no ada).

Is this okay for trunk if testing succeeds?  And sorry for the breakage.


Segher


2016-10-13  Segher Boessenkool  <seg...@kernel.crashing.org>

        PR bootstrap/77962
        * function.c (thread_prologue_and_epilogue_insns): Call all
        make_*logue_seq in the same order as traditional.  Call them
        all a second time if shrink_wrapped-separate.
OK.
jeff

Reply via email to