Hi Folks, > On 28 Sep 2022, at 22:30, Segher Boessenkool <seg...@kernel.crashing.org> > wrote:
> On Wed, Sep 28, 2022 at 05:18:47PM +0100, Iain Sandoe wrote: >>> On 28 Sep 2022, at 07:37, Iain Sandoe <i...@sandoe.co.uk> wrote: >>>> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches >>>> <gcc-patches@gcc.gnu.org> wrote: >> powerpc-apple-darwin, is perhaps somewhat unusual in that it is nominally a >> 32b kernel, but the OS supports 64b processes on suitable hardware > > Just like Linux was before there was powerpc64-linux. I think it should > still work even? > >> (and the OS does preserve the upper bits of 64b regs in the context). > > That works on Linux as well. What still does not work is user-mode > context switches in 32-bit processes (so setjmp and getcontext stuff). AFAIU the Darwin impl. it is the same - the user context only contains 32b register images. Since one can only use the feature between function calls, I guess that the setjmp/longjmp stuff is not so critical on Darwin***. However, even being able to use 64b insns between calls could give a massive win in allowing, for example, lock-free 64b atomics. Sometime, I need to spend some time with this and make a set of ppc970 library slices (the dynamic loader should pick the right arch for the resident cpu). >> I will try to take a look at this this evening see if I can throw >> any more light on it. > > Thanks! adding —with-tune=G5 to the configure line .. the cross-build then succeeded (at "-O1 -g" as I was building to debug) - maybe that will provide a clue, but I’m out of time for today. Iain. === *** revisiting this topic, did make me wonder about non-call exceptions tho, not sure if they were considered in the original recipes.