a840f76 changed @@ from -9,6 +9,10 to -9,7 +9,12 but overshot by 1.
Actual hunk is 6 context + 5 add = -9,6 +9,11. Wrong counts were
silently masked in pkgrel=4 build #4 by the trailer-stripped EOF
letting patch fuzz recover. pkgrel=5 with besser#18 after SCS
exposes it as 'malformed patch at line N: 2.54.0'.
Cumulative b2sum: ceec602afa8574c74354... -> 50397711a6a3ba522283...
Size unchanged 162 716.
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.