On Tue, Apr 21 2020, Charlene Wendling <[email protected]> wrote:
> Hi,
>
> greenlet is broken in the current macppc bulk, and neovim won't be built
> without it.
>
>> cc -fno-strict-aliasing -O2 -pipe -DNDEBUG -O2 -pipe -fPIC -O2 -pipe -fPIC 
>> -I/usr/local/include/python2.7 -c greenlet.c -o 
>> /usr/obj/ports/py-greenlet-0.4.15/greenlet-0.4.15/temp.openbsd-6.7-macppc-2.7/greenlet.o
>> In file included from greenlet.c:343:
>> In file included from ./slp_platformselect.h:24:
>> ./platform/switch_ppc_unix.h:53:14: error: invalid operand for instruction
>>     __asm__ ("mr %0, 1" : "=g" (stackref) : );
>>              ^
>> <inline asm>:1:11: note: instantiated into assembly here
>>         mr 0(4), 1
>>                  ^
>> In file included from greenlet.c:343:
>> In file included from ./slp_platformselect.h:24:
>> ./platform/switch_ppc_unix.h:57:13: error: invalid operand for instruction
>>             "mr 11, %0\n"
>>             ^
>> <inline asm>:1:11: note: instantiated into assembly here
>
> Using the linux code [0] allows greenlet to build, but tests segfault.

I'd suggest you use the Linux code path like FreeBSD does.
People who truly need a working py-greenlet on powerpc can take care of
fixing it.  Maybe you could nudge gkoehler to look at it. :)

> The build can also be fixed by applying a related change in
> switch-ppc_aix.h [1], but tests segfault as well.
>
> Charlène.
>
> [0] 
> https://github.com/freebsd/freebsd-ports/blob/master/devel/py-greenlet/files/patch-slp_platformselect.h
> [1] 
> https://github.com/python-greenlet/greenlet/commit/829b44f62b024a3f9b79453b1c0c6a2eb766c336

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to