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>