I think my original fix with linux.h doing the #undef on
TARGET_CAN_SPLIT_STACK_64BIT is the right fix at least
for powerpc-linux-gnu 32 bit only.
It works for powerpc-linux-gnu without multilib and doesn't break
powerpc64-linux-gnu or powerpc64le-linux-gnu.
Can you tell me how you are configuring the multilib build that defaults
to powerpc-linux-gnu and how it
fails? Maybe there is another problem for that combination.
As David noted, the use of TARGET_64BIT or TARGET_POWERPC64 won't work
for this #define.
On 10/07/2015 12:31 PM, Matthias Klose wrote:
On 07.10.2015 17:36, Lynn A. Boger wrote:
Pretty sure this is the fix, but still doing some testing.
linux.h isn't included for multilib enabled builds defaulting to
powerpc-linux-gnu, I am currently testing
--- gcc/config/rs6000/sysv4.h (revision 228571)
+++ gcc/config/rs6000/sysv4.h (working copy)
@@ -943,8 +943,9 @@
/* On ppc64 and ppc64le, split stack is only support for
64 bit. */
#undef TARGET_CAN_SPLIT_STACK_64BIT
-#if TARGET_GLIBC_MAJOR > 2 \
- || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 18)
+#if TARGET_64BIT \
+ && (TARGET_GLIBC_MAJOR > 2 \
+ || (TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 18))
#define TARGET_CAN_SPLIT_STACK_64BIT
#endif