From e721af3baf037ac408f09816ef6ff9daa35260f0 Mon Sep 17 00:00:00 2001
From: Dario Binacchi <[EMAIL REDACTED]>
Date: Sun, 23 Aug 2026 16:09:24 +0200
Subject: [PATCH] Fix build on PowerPC with uClibc
PPC_FEATURE_HAS_ALTIVEC is not defined by all C libraries. The following
error was raised while testing SDL3 in Buildroot with a PowerPC toolchain
using uClibc-ng:
src/cpuinfo/SDL_cpuinfo.c: In function 'SDL_GetAltiVecFeatures':
src/cpuinfo/SDL_cpuinfo.c:351:37: error: 'PPC_FEATURE_HAS_ALTIVEC' undeclared (first use in this function)
351 | altivec = getauxval(AT_HWCAP) & PPC_FEATURE_HAS_ALTIVEC;
| ^~~~~~~~~~~~~~~~~~~~~~~
Provide a fallback definition when it is not defined.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
src/cpuinfo/SDL_cpuinfo.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/cpuinfo/SDL_cpuinfo.c b/src/cpuinfo/SDL_cpuinfo.c
index 116c5371c1ed2..d58c1503179a0 100644
--- a/src/cpuinfo/SDL_cpuinfo.c
+++ b/src/cpuinfo/SDL_cpuinfo.c
@@ -80,6 +80,10 @@
#include <sys/auxv.h>
#endif
+#ifndef PPC_FEATURE_HAS_ALTIVEC
+#define PPC_FEATURE_HAS_ALTIVEC 0x10000000
+#endif
+
#ifdef SDL_PLATFORM_RISCOS
#include <kernel.h>
#include <swis.h>