--- src/lib/rng/processor_rng/processor_rng.cpp 2024-07-08 18:54:05.000000000 +0800 +++ src/lib/rng/processor_rng/processor_rng.cpp 2025-08-11 23:36:12.000000000 +0800 @@ -54,7 +54,7 @@ #endif success = (1 == cf); -#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) +#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) && !defined(__APPLE__) /* DARN indicates error by returning 0xFF..FF, ie is biased. Which is crazy. @@ -101,7 +101,7 @@ { #if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) return CPUID::has_rdrand(); -#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) +#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) && !defined(__APPLE__) return CPUID::has_darn_rng(); #else return false; @@ -112,7 +112,7 @@ { #if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) return "rdrand"; -#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) +#elif defined(BOTAN_TARGET_CPU_IS_PPC_FAMILY) && !defined(__APPLE__) return "darn"; #else return "hwrng";