knot: drop kru.inc.c static_assert that requires lock-free 16-bit atomics

The RRL module's kru.inc.c has a `static_assert(ATOMIC_CHAR16_T_LOCK_FREE
== 2, ...)` that breaks the build on any target whose toolchain does
not advertise lock-free 16-bit atomics (e.g. ARMv5 arm926ej-s).
Upstream considers the assertion non-essential and plans to drop it;
they recommended a patch over a Makefile-level RRL disable. Bump
PKG_RELEASE for the patch swap.

Suggested-by: Daniel Salzman <daniel.salzman@nic.cz>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean
2026-05-29 18:45:19 +03:00
committed by Alexandru Ardelean
parent d883c02a41
commit 106acb9774
2 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=knot PKG_NAME:=knot
PKG_VERSION:=3.5.4 PKG_VERSION:=3.5.4
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/ PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
@@ -0,0 +1,10 @@
--- a/src/knot/modules/rrl/kru.inc.c
+++ b/src/knot/modules/rrl/kru.inc.c
@@ -462,7 +462,6 @@ static inline bool kru_limited_update(st
load_at = (_Atomic uint16_t *)ctx->load;
}
- static_assert(ATOMIC_CHAR16_T_LOCK_FREE == 2, "insufficient atomics");
const uint16_t price = ctx->price16;
const uint32_t limit = ctx->limit16; // 2^16 has to be representable
uint16_t load_orig = atomic_load_explicit(load_at, memory_order_relaxed);