--- src/greenlet/slp_platformselect.h 2023-01-28 22:19:23.000000000 +0800 +++ src/greenlet/slp_platformselect.h 2024-08-28 23:43:43.000000000 +0800 @@ -20,7 +20,7 @@ #include "platform/switch_ppc64_linux.h" /* gcc on PowerPC 64-bit */ #elif defined(__GNUC__) && defined(__PPC__) && (defined(__linux__) || defined(__FreeBSD__)) #include "platform/switch_ppc_linux.h" /* gcc on PowerPC */ -#elif defined(__GNUC__) && defined(__ppc__) && defined(__APPLE__) +#elif defined(__GNUC__) && defined(__POWERPC__) && defined(__APPLE__) #include "platform/switch_ppc_macosx.h" /* Apple MacOS X on PowerPC */ #elif defined(__GNUC__) && defined(__powerpc64__) && defined(_AIX) #include "platform/switch_ppc64_aix.h" /* gcc on AIX/PowerPC 64-bit */ --- src/greenlet/platform/switch_ppc_macosx.h 2023-01-28 22:19:23.000000000 +0800 +++ src/greenlet/platform/switch_ppc_macosx.h 2024-08-28 23:42:43.000000000 +0800 @@ -49,7 +49,7 @@ register int err; register int *stackref, stsizediff; __asm__ volatile ("" : : : REGS_TO_SAVE); - __asm__ ("; asm block 2\n\tmr %0, r1" : "=g" (stackref) : ); + __asm__ ("; asm block 2\n\tmr %0, r1" : "=r" (stackref) : ); { SLP_SAVE_STATE(stackref, stsizediff); __asm__ volatile ( @@ -58,7 +58,7 @@ "\tadd r1, r1, r11\n" "\tadd r30, r30, r11\n" : /* no outputs */ - : "g" (stsizediff) + : "r" (stsizediff) : "r11" ); SLP_RESTORE_STATE(); --- src/greenlet/platform/switch_ppc_unix.h 2023-01-28 22:19:23.000000000 +0800 +++ src/greenlet/platform/switch_ppc_unix.h 2024-08-28 23:42:43.000000000 +0800 @@ -50,7 +50,7 @@ register int err; register int *stackref, stsizediff; __asm__ volatile ("" : : : REGS_TO_SAVE); - __asm__ ("mr %0, 1" : "=g" (stackref) : ); + __asm__ ("mr %0, 1" : "=r" (stackref) : ); { SLP_SAVE_STATE(stackref, stsizediff); __asm__ volatile ( @@ -58,7 +58,7 @@ "add 1, 1, 11\n" "add 30, 30, 11\n" : /* no outputs */ - : "g" (stsizediff) + : "r" (stsizediff) : "11" ); SLP_RESTORE_STATE();