diff options
| author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2025-09-02 12:09:31 +0000 |
|---|---|---|
| committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2025-09-03 09:21:17 +0000 |
| commit | a2c918232cc82cc100a718cdb49edcb351a2b056 (patch) | |
| tree | 300a385e3544eb5e8b0b39d95a21831d4f335045 | |
| parent | d407ee543206d7d73a175144798f6c9f23d2013d (diff) | |
net/relayd: fix build on big-endian architectures
siphash.c:67:7: error: incompatible pointer to integer conversion passing 'const u_int64_t *' (aka 'const unsigned long *') to parameter of type 'unsigned long' [-Wint-conversion]
67 | k0 = le64toh(&key->k0);
| ^~~~~~~~~~~~~~~~~
/usr/include/sys/_endian.h:130:30: note: expanded from macro 'le64toh'
130 | #define le64toh(x) __bswap64((x))
| ~~~~~~~~~~^~~~
/usr/include/sys/_endian.h:85:40: note: expanded from macro '__bswap64'
85 | #define __bswap64(x) __builtin_bswap64(x)
| ^
siphash.c:68:7: error: incompatible pointer to integer conversion passing 'const u_int64_t *' (aka 'const unsigned long *') to parameter of type 'unsigned long' [-Wint-conversion]
68 | k1 = le64toh(&key->k1);
| ^~~~~~~~~~~~~~~~~
/usr/include/sys/_endian.h:130:30: note: expanded from macro 'le64toh'
130 | #define le64toh(x) __bswap64((x))
| ~~~~~~~~~~^~~~
/usr/include/sys/_endian.h:85:40: note: expanded from macro '__bswap64'
85 | #define __bswap64(x) __builtin_bswap64(x)
| ^
siphash.c:194:16: error: incompatible pointer to integer conversion passing 'u_int64_t *' (aka 'unsigned long *') to parameter of type 'unsigned long'; dereference with * [-Wint-conversion]
194 | u_int64_t m = le64toh((u_int64_t *)ctx->buf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sys/_endian.h:130:30: note: expanded from macro 'le64toh'
130 | #define le64toh(x) __bswap64((x))
| ~~~~~~~~~~^~~~
/usr/include/sys/_endian.h:85:40: note: expanded from macro '__bswap64'
85 | #define __bswap64(x) __builtin_bswap64(x)
| ^
3 errors generated.
| -rw-r--r-- | net/relayd/files/patch-usr.sbin_relayd_siphash.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/net/relayd/files/patch-usr.sbin_relayd_siphash.c b/net/relayd/files/patch-usr.sbin_relayd_siphash.c new file mode 100644 index 000000000000..16575bdd6c1f --- /dev/null +++ b/net/relayd/files/patch-usr.sbin_relayd_siphash.c @@ -0,0 +1,22 @@ +--- usr.sbin/relayd/siphash.c.orig 2025-09-02 11:44:37 UTC ++++ usr.sbin/relayd/siphash.c +@@ -64,8 +64,8 @@ SipHash_Init(SIPHASH_CTX *ctx, const SIPHASH_KEY *key) + uint64_t k0, k1; + + #ifdef __FreeBSD__ +- k0 = le64toh(&key->k0); +- k1 = le64toh(&key->k1); ++ k0 = le64toh(key->k0); ++ k1 = le64toh(key->k1); + #else + k0 = lemtoh64(&key->k0); + k1 = lemtoh64(&key->k1); +@@ -191,7 +191,7 @@ SipHash_CRounds(SIPHASH_CTX *ctx, int rounds) + SipHash_CRounds(SIPHASH_CTX *ctx, int rounds) + { + #ifdef __FreeBSD__ +- u_int64_t m = le64toh((u_int64_t *)ctx->buf); ++ u_int64_t m = le64toh((u_int64_t)ctx->buf); + #else + u_int64_t m = lemtoh64((u_int64_t *)ctx->buf); + #endif |
