]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
Fix support for Mac OS X/PowerPC G5.
authorBruno Haible <bruno@clisp.org>
Fri, 31 Oct 2025 14:01:55 +0000 (15:01 +0100)
committerBruno Haible <bruno@clisp.org>
Fri, 31 Oct 2025 14:01:55 +0000 (15:01 +0100)
Reported by Sergey Fedorov <vital.had@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2025-10/msg00149.html>.

* lib/fenv.in.h: Test _ARCH_PPC instead of __powerpc__ or __ppc__.
* lib/fenv-private.h: Likewise.
* lib/fenv-env.c: Likewise.
* lib/fenv-except-state-get.c: Likewise.
* lib/fenv-except-state-set.c: Likewise.
* lib/fenv-except-state-test.c: Likewise.
* lib/fenv-except-tracking-clear.c: Likewise.
* lib/fenv-except-tracking-raise.c: Likewise.
* lib/fenv-except-tracking-set.c: Likewise.
* lib/fenv-except-tracking-test.c: Likewise.
* lib/fenv-except-trapping.c: Likewise.
* lib/fenv-round.c: Likewise.
* lib/float.in.h: Likewise.
* lib/immutable.c: Likewise.
* lib/jit/cache.h: Likewise.
* lib/snan.h: Likewise.
* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
* tests/qemu.h: Likewise.
* tests/test-exp2.h: Likewise.
* tests/test-fenv-except-state-3.c: Likewise.
* tests/test-fenv-except-tracking-5.c: Likewise.
* tests/test-fenv-except-trapping-2.c: Likewise.
* tests/test-frexpl.c: Likewise.
* tests/test-getpayloadl.c: Likewise.
* tests/test-ilogbl.c: Likewise.
* tests/test-logbl.c: Likewise.
* tests/test-nonblocking-pipe.h: Likewise.
* tests/test-printf-frexpl.c: Likewise.
* tests/test-setpayloadl.c: Likewise.
* tests/test-setpayloadsigl.c: Likewise.
* tests/test-ssfmalloc.c: Likewise.

32 files changed:
ChangeLog
lib/fenv-env.c
lib/fenv-except-state-get.c
lib/fenv-except-state-set.c
lib/fenv-except-state-test.c
lib/fenv-except-tracking-clear.c
lib/fenv-except-tracking-raise.c
lib/fenv-except-tracking-set.c
lib/fenv-except-tracking-test.c
lib/fenv-except-trapping.c
lib/fenv-private.h
lib/fenv-round.c
lib/fenv.in.h
lib/float.in.h
lib/immutable.c
lib/jit/cache.h
lib/snan.h
m4/isfinite.m4
tests/qemu.h
tests/test-exp2.h
tests/test-fenv-except-state-3.c
tests/test-fenv-except-tracking-5.c
tests/test-fenv-except-trapping-2.c
tests/test-frexpl.c
tests/test-getpayloadl.c
tests/test-ilogbl.c
tests/test-logbl.c
tests/test-nonblocking-pipe.h
tests/test-printf-frexpl.c
tests/test-setpayloadl.c
tests/test-setpayloadsigl.c
tests/test-ssfmalloc.c

index 14f4d37b390a8c8703dfd21fb0db4e74e52f7e64..7136e3cb576d8d44dffccb6e293e27c2e5971fce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2025-10-31  Bruno Haible  <bruno@clisp.org>
+
+       Fix support for Mac OS X/PowerPC G5.
+       Reported by Sergey Fedorov <vital.had@gmail.com> in
+       <https://lists.gnu.org/archive/html/bug-gnulib/2025-10/msg00149.html>.
+       * lib/fenv.in.h: Test _ARCH_PPC instead of __powerpc__ or __ppc__.
+       * lib/fenv-private.h: Likewise.
+       * lib/fenv-env.c: Likewise.
+       * lib/fenv-except-state-get.c: Likewise.
+       * lib/fenv-except-state-set.c: Likewise.
+       * lib/fenv-except-state-test.c: Likewise.
+       * lib/fenv-except-tracking-clear.c: Likewise.
+       * lib/fenv-except-tracking-raise.c: Likewise.
+       * lib/fenv-except-tracking-set.c: Likewise.
+       * lib/fenv-except-tracking-test.c: Likewise.
+       * lib/fenv-except-trapping.c: Likewise.
+       * lib/fenv-round.c: Likewise.
+       * lib/float.in.h: Likewise.
+       * lib/immutable.c: Likewise.
+       * lib/jit/cache.h: Likewise.
+       * lib/snan.h: Likewise.
+       * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
+       * tests/qemu.h: Likewise.
+       * tests/test-exp2.h: Likewise.
+       * tests/test-fenv-except-state-3.c: Likewise.
+       * tests/test-fenv-except-tracking-5.c: Likewise.
+       * tests/test-fenv-except-trapping-2.c: Likewise.
+       * tests/test-frexpl.c: Likewise.
+       * tests/test-getpayloadl.c: Likewise.
+       * tests/test-ilogbl.c: Likewise.
+       * tests/test-logbl.c: Likewise.
+       * tests/test-nonblocking-pipe.h: Likewise.
+       * tests/test-printf-frexpl.c: Likewise.
+       * tests/test-setpayloadl.c: Likewise.
+       * tests/test-setpayloadsigl.c: Likewise.
+       * tests/test-ssfmalloc.c: Likewise.
+
 2025-10-30  Paul Eggert  <eggert@cs.ucla.edu>
 
        fprintftime: check for overflow due to padding
index cba1fa9e928f0903287665b29b0f9ce849cae5dc..b1819f94e9b06499cf46e30ed586e14ba56394c5 100644 (file)
@@ -37,7 +37,7 @@
    previously saved environment, but not during an fesetenv (FE_DFL_ENV)
    invocation.  */
 
-#if defined _AIX && defined __powerpc__ /* AIX */
+#if defined _AIX && defined _ARCH_PPC /* AIX */
 
 /* On AIX, fenv_t is a struct { unsigned short rmode; unsigned int fpstat, trapstate; }.  */
 
@@ -813,7 +813,7 @@ fesetenv (fenv_t const *envp)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 /* On all OSes except *BSD and AIX, fenv_t is a 'double'.
    On *BSD, it's an 'unsigned int'.
index cc27ebc744e68f3473199fbcc9af94cb1bd80958..4b51fa201f655b832638e90ee0cde85d2bbd8bd2 100644 (file)
@@ -192,7 +192,7 @@ fegetexceptflag (fexcept_t *saved_flags, int exceptions)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 /* On all OSes, fexcept_t is binary-equivalent to an 'unsigned int'.  */
 
@@ -313,7 +313,7 @@ fegetexceptflag (fexcept_t *saved_flags, int exceptions)
   return 0;
 }
 
-# elif defined _AIX && defined __powerpc__ /* AIX */
+# elif defined _AIX && defined _ARCH_PPC /* AIX */
 
 #  include <float.h>
 #  include <fpxcp.h>
index 7ec74a3cfe041fb31fe64efa0054cc5c897b5724..0c825a8b9438c2f7d84fdd280fc4200d5487a3d2 100644 (file)
@@ -268,7 +268,7 @@ fesetexceptflag (fexcept_t const *saved_flags, int exceptions)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 /* On all OSes, fexcept_t is binary-equivalent to an 'unsigned int'.  */
 
@@ -546,7 +546,7 @@ fesetexceptflag (fexcept_t const *saved_flags, int exceptions)
   return 0;
 }
 
-# elif defined _AIX && defined __powerpc__ /* AIX */
+# elif defined _AIX && defined _ARCH_PPC /* AIX */
 
 #  include <float.h>
 #  include <fpxcp.h>
index 9dc61d08b615776cbeaf5aa80a7879c393c59768..a3372f06ef81da996564c4a135c134040f29ef3a 100644 (file)
@@ -103,7 +103,7 @@ fetestexceptflag (fexcept_t const *saved_flags, int exceptions)
   return flags & FE_ALL_EXCEPT & exceptions;
 }
 
-#elif (defined __ppc__ || defined __powerpc__)
+#elif defined _ARCH_PPC
 
 int
 fetestexceptflag (fexcept_t const *saved_flags, int exceptions)
index 0b20c23c591f2d702d2fb90ad0f136ded3717bfd..5a6c59e17602cdebb736a9f7f92af1b728620102 100644 (file)
@@ -211,7 +211,7 @@ feclearexcept (int exceptions)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 int
 feclearexcept (int exceptions)
@@ -343,7 +343,7 @@ feclearexcept (int exceptions)
   return 0;
 }
 
-# elif defined _AIX && defined __powerpc__ /* AIX */
+# elif defined _AIX && defined _ARCH_PPC /* AIX */
 
 #  include <float.h>
 #  include <fpxcp.h>
index 0df878fe4596566f024cd2be2fcb71c8bc4eb066..7d07017067e89244094b9ca878fb213e6ef057dc 100644 (file)
@@ -314,7 +314,7 @@ feraiseexcept (int exceptions)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 int
 feraiseexcept (int exceptions)
index f56b8134894e4361719e10f7768babb354ce75c1..72741d191db54ef4e2d36911ef344aca08100ea0 100644 (file)
@@ -228,7 +228,7 @@ fesetexcept (int exceptions)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 int
 fesetexcept (int exceptions)
@@ -434,7 +434,7 @@ fesetexcept (int exceptions)
   return 0;
 }
 
-# elif defined _AIX && defined __powerpc__ /* AIX */
+# elif defined _AIX && defined _ARCH_PPC /* AIX */
 
 #  include <float.h>
 #  include <fpxcp.h>
index baa65de450e09cdbe9aa100d8d63c25d9650b833..a4b51ff12bc150b00851b0f5a5679c7d9858eea8 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "fenv-private.h"
 
-#if defined _AIX && defined __powerpc__ /* AIX */
+#if defined _AIX && defined _ARCH_PPC /* AIX */
 
 /* On AIX, the register fpscr is augmented with a 32-bit word named fpscrx
    in thread-local storage.  Instead of accessing fpscr, we must access the
@@ -158,7 +158,7 @@ fetestexcept (int exceptions)
   return fcsr & FE_ALL_EXCEPT & exceptions;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 int
 fetestexcept (int exceptions)
index 82c50ca39436d1e5a904c385556a9700345175f3..0506224bf5458dcab4e04745fcc18b3cec1b0231 100644 (file)
@@ -487,7 +487,7 @@ fegetexcept (void)
   return FE_ALL_EXCEPT & (fcsr << 16);
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 #  if defined __linux__
 #   include <sys/prctl.h>
@@ -829,7 +829,7 @@ fegetexcept (void)
   return mask_to_exceptions (trapbits);
 }
 
-# elif defined _AIX && defined __powerpc__ /* AIX */
+# elif defined _AIX && defined _ARCH_PPC /* AIX */
 
 #  include <fptrap.h>
 /* Documentation:
index 5e44975ae60555a1a30d2ab0b44d21526603e429..1d180ba0ea421ac008a97a9f89ba6c52700e5ade 100644 (file)
@@ -278,7 +278,7 @@ extern void __ieee_set_fp_control (unsigned long);
 # define _FPU_GETCW(cw) __asm__ __volatile__ ("movfcsr2gr %0,$r0" : "=r" (cw))
 # define _FPU_SETCW(cw) __asm__ __volatile__ ("movgr2fcsr $r0,%0" : : "r" (cw))
 
-#elif (defined __ppc__ || defined __powerpc__)
+#elif defined _ARCH_PPC
 
 /* fpscr bits 28..25 indicate which floating-point exceptions, other than
    FE_INVALID, have occurred since the respective bit was last set to zero.
@@ -372,7 +372,7 @@ extern void __ieee_set_fp_control (unsigned long);
 
 #endif
 
-#if defined _AIX && defined __powerpc__ /* AIX */
+#if defined _AIX && defined _ARCH_PPC /* AIX */
 
 /* <fpxcp.h> defines a type fpflag_t and macros FP_*.  */
 
index ff76713418e0bd3e088cb7d4690c8f72e9171edd..dbf8d277bc0923bc8426dab177f1f929a68d1d39 100644 (file)
@@ -315,7 +315,7 @@ fesetround (int rounding_direction)
   return 0;
 }
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 /* The AIX header files have different values for the rounding directions
    than all the other platforms: The values 0 and 1 are swapped.
index 7f71ab5b9cf68f18df818f004b3931debc02c05f..d4f68c8e07a294a704f11be9c7eff58adc8d8a53 100644 (file)
@@ -125,7 +125,7 @@ typedef struct
   }
 fenv_t;
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 typedef double /* yuck! */ fenv_t; /* fpscr register */
 
@@ -328,7 +328,7 @@ _GL_CXXALIASWARN (feholdexcept);
 #  define FE_UPWARD      (2 << 8)
 #  define FE_DOWNWARD    (3 << 8)
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 /* Attention: AIX has different values for these macros!  */
 #  define FE_TONEAREST   0
@@ -497,7 +497,7 @@ _GL_CXXALIASWARN (fesetround);
 #  define FE_DIVBYZERO  (1U << 19)
 #  define FE_INVALID    (1U << 20)
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 #  define FE_INEXACT    (1U << 25)
 #  define FE_DIVBYZERO  (1U << 26)
@@ -764,7 +764,7 @@ typedef unsigned short fexcept_t;
 
 typedef unsigned int fexcept_t;
 
-# elif (defined __ppc__ || defined __powerpc__)
+# elif defined _ARCH_PPC
 
 typedef unsigned int fexcept_t;
 
index c3f89b8b36305112d05c587bb6c5222a71a87f51..28f9967f6fbfc07a585407c07b926b35d86cb4b7 100644 (file)
@@ -119,7 +119,7 @@ extern const union gl_long_double_union gl_LDBL_MAX;
    wrong.
    Assume these bugs are fixed in any GCC new enough
    to define __LDBL_NORM_MAX__.  */
-#if ((defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106 \
+#if (defined _ARCH_PPC && LDBL_MANT_DIG == 106 \
      && defined __GNUC__ && !defined __LDBL_NORM_MAX__)
 # undef LDBL_MIN_EXP
 # define LDBL_MIN_EXP (-968)
index d38419b3746fbaa7f52c09342b9dfcf7a2a0ab62..e6cc3b71a6b1273cf01bdcf775948360dafdcbf3 100644 (file)
@@ -267,7 +267,7 @@ free_pages (uintptr_t pages, size_t size)
 # define PAGESIZE pagesize
 /* On Cygwin and Linux/PowerPC, PAGESIZE is 65536.  On macOS 11, it is 16384.
    On all other platforms, it is either 4096 or 8192.  */
-# if defined __CYGWIN__ || (defined __linux__ && defined __powerpc__)
+# if defined __CYGWIN__ || (defined __linux__ && defined _ARCH_PPC)
 #  define PAGESIZE_MAX 65536
 # else
 #  define PAGESIZE_MAX 16384
index 5f8cb47326cb6e7d670b013aeef8bfb447e644a1..051fdde969f819551f9d1ec678943863e7af8691 100644 (file)
@@ -79,7 +79,7 @@ clear_cache (void *start, void *end)
   sync_instruction_memory (start, (char *) end - (char *) start);
 
 /* No operating system provided function. Dispatch according to the CPU.  */
-#elif (defined __GNUC__ || defined __clang__) && defined __powerpc__
+#elif (defined __GNUC__ || defined __clang__) && defined _ARCH_PPC
   /* XXX Is this enough, or do we also need the 'clf' instruction?  */
   uintptr_t addr = (uintptr_t) start & ~(intptr_t)3;
   uintptr_t end_addr = (uintptr_t) end;
index 635201fa497b7723e43ce6e106a12786ec97a325..ca52ce5b18d064892f079013100608742b5458c7 100644 (file)
@@ -216,7 +216,7 @@ construct_memory_SNaNl (long double quiet_value)
 {
   memory_long_double m;
   m.value = quiet_value;
-  #if (defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106
+  #if defined _ARCH_PPC && LDBL_MANT_DIG == 106
     /* This is PowerPC "double double", a pair of two doubles.  Inf and NaN are
        represented as the corresponding 64-bit IEEE values in the first double;
        the second is ignored.  Manipulate only the first double.  */
index 56abe8f49ea44f15076defd07fa3f45d9c061797..c5aee3e9ae039e577f491611f430494ade1bb34e 100644 (file)
@@ -1,5 +1,5 @@
 # isfinite.m4
-# serial 22
+# serial 23
 dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -84,7 +84,7 @@ int main ()
 #if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
     /* Another NaN, more precisely crafted.  */
     m.value = NaNl ();
-    #if (defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106
+    #if defined _ARCH_PPC && LDBL_MANT_DIG == 106
       /* This is PowerPC "double double", a pair of two doubles.  Inf and NaN are
          represented as the corresponding 64-bit IEEE values in the first double;
          the second is ignored.  Manipulate only the first double.  */
index 6188f796eec6174f358694d369d323d1733b9fc9..ae0d6ae4e9f4e15efb7063e3f7afdc103a4d209b 100644 (file)
@@ -83,7 +83,7 @@ is_running_under_qemu_user (void)
           if (strcasestr (buf, "SPARC") != NULL)
             return true;
 # endif
-# if !(defined __ppc__ || defined __powerpc__)
+# if !defined _ARCH_PPC
           if (strstr (buf, "POWER") != NULL)
             return true;
 # endif
index 7035b810783cb615c25740f4d763dce15040ec92..04d3104a5be51edb47000abd6610ca612fbb25dd 100644 (file)
@@ -36,7 +36,7 @@ test_function (void)
     ASSERT (y == L_(1.0));
   }
   /* <https://sourceware.org/PR13824> */
-#if !(__GLIBC__ == 2 && __GLIBC_MINOR__ < 16 && (defined __sparc || defined __powerpc__))
+#if !(__GLIBC__ == 2 && __GLIBC_MINOR__ < 16 && (defined __sparc || defined _ARCH_PPC))
   {
     int e;
     DOUBLE x;
index 992f1f9123715cee34f7966fda4db664eb1d9b0f..0cc8fd023dcdd2a9c2c1b76ec92cc027c71a67cc 100644 (file)
@@ -71,7 +71,7 @@ main ()
   /* On older i386 and on PowerPC, there is no way to implement
      fesetexceptflag() such that it does not trigger a trap.  fesetexceptflag()
      is expected to fail in this case.  */
-# if !((defined __i386 || defined _M_IX86) || (defined __ppc__ || defined __powerpc__))
+# if !((defined __i386 || defined _M_IX86) || defined _ARCH_PPC)
   ASSERT (rc == 0);
 # endif
 
index df9a989d35baa79cf622dd8d3e2a8e77ee79056b..b946dc3d7c8a976f6e62cfc3303f14e82a57cde4 100644 (file)
@@ -55,7 +55,7 @@ main ()
   /* On older i386 and on PowerPC, there is no way to implement
      fesetexcept() such that it does not trigger a trap.  fesetexcept()
      is expected to fail in this case.  */
-# if !((defined __i386 || defined _M_IX86) || (defined __ppc__ || defined __powerpc__))
+# if !((defined __i386 || defined _M_IX86) || defined _ARCH_PPC)
   ASSERT (rc == 0);
 # endif
 
index e1162bedb756802879bf5288e7806f6103c9a29f..dce08e507f330f941bee5db9fc5b30cb16dccb5f 100644 (file)
@@ -455,15 +455,15 @@ main (int argc, char *argv[])
          - gcc >= 8 generates 'com*' or 'fcom*' instructions and thus passes
            the test.  */
       #if (__GLIBC__ >= 2 && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86)) && (__GNUC__ < 8 || defined __clang__)) \
-          || (__GLIBC__ >= 2 && (defined __powerpc__ || (defined __s390__ || defined __s390x__))) \
+          || (__GLIBC__ >= 2 && (defined _ARCH_PPC || (defined __s390__ || defined __s390x__))) \
           || (__GLIBC__ >= 2 && __FreeBSD_kernel__ && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
-          || (defined MUSL_LIBC && ((defined __i386 || defined _M_IX86) || defined __powerpc__)) \
+          || (defined MUSL_LIBC && ((defined __i386 || defined _M_IX86) || defined _ARCH_PPC)) \
           || ((defined __APPLE__ && defined __MACH__) && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86) || defined __aarch64__)) \
           || ((defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__) && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
-          || ((defined __FreeBSD__ || defined __NetBSD__) && defined __powerpc__) \
+          || ((defined __FreeBSD__ || defined __NetBSD__) && defined _ARCH_PPC) \
           || (defined __OpenBSD__ && defined __mips64) \
           || (defined __minix && (defined __i386 || defined _M_IX86)) \
-          || (defined _AIX && defined __powerpc__) \
+          || (defined _AIX && defined _ARCH_PPC) \
           || (defined __sun && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
           || (defined __CYGWIN__ && (defined __x86_64__ || defined _M_X64)) \
           || (defined _WIN32 && ((defined __x86_64__ || defined _M_X64) || (defined __i386 || defined _M_IX86))) \
index 550648b623d8c692f5e7ef26dec897a1a309107f..0f39d54544d0659001007a60259a5a4df1d94aaa 100644 (file)
@@ -52,7 +52,7 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *));
 /* On PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable
    exponent for 'long double' is -968.  For exponents below that, the precision
    may be truncated to the precision used for 'double'.  */
-#if defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__
+#if defined _ARCH_PPC
 # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
 #else
 # define MIN_NORMAL_EXP LDBL_MIN_EXP
index 6c83a18d1acacdd1472a7487c6e0d8617d37951d..b35f405de91c5a89745e883d71e06746df962d1b 100644 (file)
@@ -28,7 +28,7 @@ SIGNATURE_CHECK (getpayloadl, long double, (const long double *));
 #include "signed-snan.h"
 #include "macros.h"
 
-#if (defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106
+#if defined _ARCH_PPC && LDBL_MANT_DIG == 106
   /* This is PowerPC "double double", a pair of two doubles.  NaN is represented
      as the corresponding 64-bit IEEE value in the first double; the second is
      irrelevant and therefore does not contain a payload.  */
index 3b274fa197deb36b9c366e479e3428b8393d14a4..27fd3506fb562dde7afdf4f5227bdeccf3e6f103 100644 (file)
@@ -45,7 +45,7 @@ SIGNATURE_CHECK (ilogbl, int, (long double));
 /* On PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable
    exponent for 'long double' is -968.  For exponents below that, the precision
    may be truncated to the precision used for 'double'.  */
-#if defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__
+#if defined _ARCH_PPC
 # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
 #else
 # define MIN_NORMAL_EXP LDBL_MIN_EXP
index 74ba4f53a26981600e2115b60ff2d425e3f180ed..b4c7c48bde833f100aebbe9ecca7530a47dba88e 100644 (file)
@@ -38,7 +38,7 @@ SIGNATURE_CHECK (logbl, long double, (long double));
 /* On PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable
    exponent for 'long double' is -968.  For exponents below that, the precision
    may be truncated to the precision used for 'double'.  */
-#if defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__
+#if defined _ARCH_PPC
 # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
 #else
 # define MIN_NORMAL_EXP LDBL_MIN_EXP
index 95b8c48f1e84c173f6c7b146730493d32164ca6e..5ad17a97aa335e5177402df86e879cecd96af6aa 100644 (file)
@@ -37,7 +37,7 @@
 # define PIPE_DATA_BLOCK_SIZE 270000
 #elif defined __linux__ && defined __sparc
 # define PIPE_DATA_BLOCK_SIZE 140000
-#elif defined __linux__ && defined __powerpc__
+#elif defined __linux__ && defined _ARCH_PPC
 # define PIPE_DATA_BLOCK_SIZE 1100000
 #elif defined _WIN32 && !defined __CYGWIN__
 # define PIPE_DATA_BLOCK_SIZE 10000
index f64f16d53d7a8ae223009d2748e107198dd746af..7f113b8d9e39b0f2fc8971db0e9c1da028e45e45 100644 (file)
@@ -28,7 +28,7 @@
 /* On PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable
    exponent for 'long double' is -968.  For exponents below that, the precision
    may be truncated to the precision used for 'double'.  */
-#if defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__
+#if defined _ARCH_PPC
 # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
 # define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP
 #else
index bd990f2852a39efb8bf456fcca34f1d460f788db..785de2ccd5d20a9fb7b307ed5da6fb6734c9fdea 100644 (file)
@@ -28,7 +28,7 @@ SIGNATURE_CHECK (setpayloadl, int, (long double *, long double));
 #include "isnanl-nolibm.h"
 #include "macros.h"
 
-#if (defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106
+#if defined _ARCH_PPC && LDBL_MANT_DIG == 106
   /* This is PowerPC "double double", a pair of two doubles.  NaN is represented
      as the corresponding 64-bit IEEE value in the first double; the second is
      irrelevant and therefore does not contain a payload.  */
index 678fdf1c1a96922cb67abc85c5b68b3103b9135b..c67dc8d1e385749aebfa11f50942b1d4c95cf685 100644 (file)
@@ -28,7 +28,7 @@ SIGNATURE_CHECK (setpayloadsigl, int, (long double *, long double));
 #include "isnanl-nolibm.h"
 #include "macros.h"
 
-#if (defined __ppc__ || defined __powerpc__) && LDBL_MANT_DIG == 106
+#if defined _ARCH_PPC && LDBL_MANT_DIG == 106
   /* This is PowerPC "double double", a pair of two doubles.  NaN is represented
      as the corresponding 64-bit IEEE value in the first double; the second is
      irrelevant and therefore does not contain a payload.  */
index 99691f83e05b254b45e447cc2bf9a5de76519b9f..2c597eab0e6bd3a26f7612848329af55d442dd0e 100644 (file)
@@ -117,7 +117,7 @@ free_pages (uintptr_t pages, size_t size)
 #define PAGESIZE pagesize
 /* On Cygwin and Linux/PowerPC, PAGESIZE is 65536.  On macOS 11, it is 16384.
    On all other platforms, it is either 4096 or 8192.  */
-#if defined __CYGWIN__ || (defined __linux__ && defined __powerpc__)
+#if defined __CYGWIN__ || (defined __linux__ && defined _ARCH_PPC)
 # define PAGESIZE_MAX 65536
 #else
 # define PAGESIZE_MAX 16384