Files
packages/net/knot/patches/03_rrl_drop_static_assert.patch
T
Alexandru Ardelean 106acb9774 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>
2026-05-30 09:31:17 +03:00

11 lines
445 B
Diff

--- 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);