Re: fix for SVN r253208 breaking buildkernel with gcc

From: Michael Butler <imb_at_protected-networks.net>
Date: Thu, 11 Jul 2013 12:09:42 -0400
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)
_at__at_ -119,7 +119,8 _at__at_
 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;

_at__at_ -144,13 +145,13 _at__at_

        /* 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);
Received on Thu Jul 11 2013 - 14:09:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC