From gitlab-mirror at kemper.freedesktop.org Sat Jul 26 11:17:53 2025 From: gitlab-mirror at kemper.freedesktop.org (GitLab Mirror) Date: Sat, 26 Jul 2025 11:17:53 +0000 (UTC) Subject: libbsd: Branch 'main' - 4 commits Message-ID: <20250726111753.35F39761E7@kemper.freedesktop.org> README | 4 ++-- include/bsd/sys/cdefs.h | 12 +++++++----- include/bsd/sys/tree.h | 4 ++-- src/chacha_private.h | 12 ++++++++++-- 4 files changed, 21 insertions(+), 11 deletions(-) New commits: commit 22fddb16f8430d64b82a1ea08602be5e61ac203b Author: Guillem Jover Date: Sat Jul 26 12:41:23 2025 +0200 Mark tau and sigma Chacha variables as nonstring These contain a sequence of bytes, and are not a NUL-terminated string. Help the compiler understand the intent of the code. diff --git a/src/chacha_private.h b/src/chacha_private.h index ef1b931..97e9020 100644 --- a/src/chacha_private.h +++ b/src/chacha_private.h @@ -48,8 +48,16 @@ typedef struct a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \ c = PLUS(c,d); b = ROTATE(XOR(b,c), 7); -static const char sigma[16] = "expand 32-byte k"; -static const char tau[16] = "expand 16-byte k"; +#if defined(__has_attribute) +#if __has_attribute(__nonstring__) +#define ATTRIBUTE_NONSTRING __attribute__((__nonstring__)) +#else +#define ATTRIBUTE_NONSTRING +#endif +#endif + +static const char sigma[16] ATTRIBUTE_NONSTRING = "expand 32-byte k"; +static const char tau[16] ATTRIBUTE_NONSTRING = "expand 16-byte k"; static void chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits) commit abe3c8c33289e15e235aff120399ede316270a52 Author: Guillem Jover Date: Sat Nov 2 23:14:11 2024 +0100 include: Switch from __unused to new LIBBSD_UNUSED Because we do not define __unused, as on GNU systems Linux and glibc providing conflicting symbols, declarations for imported functions that use that attribute cause build failures when used. Ref: https://bugs.debian.org/1083196 Fixes: #34 diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h index 325b382..1a39b88 100644 --- a/include/bsd/sys/tree.h +++ b/include/bsd/sys/tree.h @@ -385,7 +385,7 @@ struct { \ #define RB_PROTOTYPE(name, type, field, cmp) \ RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) #define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ - RB_PROTOTYPE_INTERNAL(name, type, field, cmp, __unused static) + RB_PROTOTYPE_INTERNAL(name, type, field, cmp, LIBBSD_UNUSED static) #define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \ attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ @@ -404,7 +404,7 @@ attr struct type *name##_RB_MINMAX(struct name *, int); \ #define RB_GENERATE(name, type, field, cmp) \ RB_GENERATE_INTERNAL(name, type, field, cmp,) #define RB_GENERATE_STATIC(name, type, field, cmp) \ - RB_GENERATE_INTERNAL(name, type, field, cmp, __unused static) + RB_GENERATE_INTERNAL(name, type, field, cmp, LIBBSD_UNUSED static) #define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ attr void \ name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ commit 1d711a2ced0d087ad1a7da23499c7ded4b4903db Author: Guillem Jover Date: Sat Nov 2 23:12:40 2024 +0100 include: Refactor ?unused? attribute into new LIBBSD_UNUSED macro This make it possible to declare function arguments in headers as potentially unused, so that they do not emit warnings. We will use this instead of the BSD __unused, which we cannot currently enable on GNU systems due to Linux and glibc having conflicting symbols. diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h index d2627c4..3df88b5 100644 --- a/include/bsd/sys/cdefs.h +++ b/include/bsd/sys/cdefs.h @@ -99,6 +99,12 @@ #define LIBBSD_GCC_VERSION 0 #endif +#if LIBBSD_GCC_VERSION >= 0x0300 || __has_attribute(__unused__) +# define LIBBSD_UNUSED __attribute__((__unused__)) +#else +# define LIBBSD_UNUSED +#endif + #if LIBBSD_GCC_VERSION >= 0x0405 || __has_attribute(__deprecated__) #define LIBBSD_DEPRECATED(x) __attribute__((__deprecated__(x))) #elif LIBBSD_GCC_VERSION >= 0x0301 @@ -150,11 +156,7 @@ * Disable for now. */ #if 0 #ifndef __unused -# if LIBBSD_GCC_VERSION >= 0x0300 -# define __unused __attribute__((__unused__)) -# else -# define __unused -# endif +# define __unused LIBBSD_UNUSED #endif #endif commit aff40cae08e329ea975eba26bcc9fd815cf2dca2 Author: Alan Coopersmith Date: Sat Sep 7 13:19:35 2024 -0700 doc: Update anongit & cgit URLs to use gitlab instead Closes: !30 Signed-off-by: Alan Coopersmith Signed-off-by: Guillem Jover diff --git a/README b/README index c545bdc..56dbb11 100644 --- a/README +++ b/README @@ -33,11 +33,11 @@ Source Repository The primary repository can be browsed at: - + and cloned from: - + Building from git source