libtheora: disable ARM assembly on pre-ARMv7 targets only
authorAlexandru Ardelean <redacted>
Sun, 10 May 2026 09:05:51 +0000 (12:05 +0300)
committerAlexandru Ardelean <redacted>
Sat, 30 May 2026 06:27:49 +0000 (09:27 +0300)
libtheora's configure probes the host assembler for NEON support
rather than the target CPU, so on pre-ARMv7 (arm926ej-s, etc.) it
falsely succeeds and the build emits NEON the CPU can't execute.
Force --disable-asm only when the ARM target's TARGET_CFLAGS does
not advertise armv7 or armv8, so cortex-a* keeps the NEON path.

Signed-off-by: Alexandru Ardelean <redacted>
libs/libtheora/Makefile

index 9f3f8f922bd7c67a8d7226bb8dcd9d25690a9c5e..96f0731afe7b7c91de4b8e5a678b812db13db87b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libtheora
 PKG_VERSION:=1.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://downloads.xiph.org/releases/theora/
 PKG_HASH:=ebdf77a8f5c0a8f7a9e42323844fa09502b34eb1d1fece7b5f54da41fe2122ec
@@ -49,9 +49,12 @@ CONFIGURE_ARGS += \
        --disable-vorbistest \
        --disable-sdltest
 
-ifneq ($(findstring armeb,$(CONFIG_ARCH)),)
+# --disable-asm on pre-ARMv7 ARM so we don't emit assembler which cannot be executed
+ifeq ($(ARCH),arm)
+ifeq ($(findstring armv7,$(TARGET_CFLAGS))$(findstring armv8,$(TARGET_CFLAGS)),)
 CONFIGURE_ARGS += --disable-asm
 endif
+endif
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include/theora/
git clone https://git.99rst.org/PROJECT