Date: Thu, 11 Jul 2013 12:09:42 -0400 From: Michael Butler <imb@protected-networks.net> To: freebsd-current@freebsd.org Subject: Re: fix for SVN r253208 breaking buildkernel with gcc Message-ID: <51DED8C6.6020807@protected-networks.net> In-Reply-To: <51DED84D.30300@protected-networks.net> References: <51DED84D.30300@protected-networks.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07/11/13 12:07, Michael Butler wrote:
> Seems gcc is rather fussy about propagating 'const' and fails to compile
> /usr/src/sys/crypto/siphash/siphash.c after SVN r253208.
>
> I believe the attached patch is correct but please review ..
>
> imb
grr .. missing attachment :-(
Index: /usr/src/sys/crypto/siphash/siphash.c
===================================================================
--- /usr/src/sys/crypto/siphash/siphash.c (revision 253210)
+++ /usr/src/sys/crypto/siphash/siphash.c (working copy)
@@ -119,7 +119,8 @@
void
SipHash_Update(SIPHASH_CTX *ctx, const void *src, size_t len)
{
- uint64_t m, *p;
+ uint64_t m;
+ const uint64_t *p;
const uint8_t *s;
size_t rem;
@@ -144,13 +145,13 @@
/* Optimze for 64bit aligned/unaligned access. */
if (((uintptr_t)s & 0x7) == 0) {
- for (p = (uint64_t *)s; len > 0; len--, p++) {
+ for (p = (const uint64_t *)s; len > 0; len--, p++) {
m = le64toh(*p);
ctx->v[3] ^= m;
SipRounds(ctx, 0);
ctx->v[0] ^= m;
}
- s = (uint8_t *)p;
+ s = (const uint8_t *)p;
} else {
for (; len > 0; len--, s += 8) {
m = le64dec(s);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51DED8C6.6020807>
