The SCS-build-fix patch was missing the standard '-- \n2.54.0\n' trailer that git format-patch emits between patches. Without it, BSD-flavour patch(1) in makepkg's prepare() reads the trailing context line of the @@ hunk as the start of a new patch header and dies with 'malformed patch at line N'. Affects builds where ka-promote concatenates this series with any others. Reproduced 2026-05-18 on the first attempted ohm pkgrel=4 build. Cumulative b2sum changes accordingly: a807297b25be... -> bd42cd39106298879eeb... (size 157446 -> 157458; 12 bytes for the trailer)
xor-neon-ffixed-x18-scs-build-fix-danctnix — GCC 15.2.1 build fix
Restores -ffixed-x18 for arch/arm64/lib/xor-neon.c when
CONFIG_SHADOW_CALL_STACK=y. GCC 15.2.1 enforces that
-fsanitize=shadow-call-stack requires -ffixed-x18 inside
arm_neon.h's #pragma GCC target() push/pop blocks; CC_FLAGS_REMOVE
strips the kernel-wide -ffixed-x18 for xor-neon.o and CC_FLAGS_FPU
does not restore it.
Note on current ohm config: linux-pinetab2-danctnix-besser
config has # CONFIG_SHADOW_CALL_STACK is not set as of pkgrel=3,
which makes this patch a runtime no-op ($(if $(CONFIG_SHADOW_CALL_STACK), -ffixed-x18) evaluates to nothing). Patch is kept in the manifest as
belt-and-suspenders for the day SCS gets re-enabled (tracked in
besser issue for GCC fix monitoring).
See reference_arm64_scs_arm_neon_gcc15 for the full toolchain
analysis. This patch is the upstream-friendly Makefile fix; the
config-side SHADOW_CALL_STACK=n workaround is the immediate
runtime mitigation. Both are present in pkgrel=3 for safety.