When testing with clang 3.6.0, I got a number of the following -Wcast-qual warnings (just a few shown):
sys/crypto/aesni/aesni_ghash.c:279:27: error: cast from 'const unsigned char *' to '__attribute__((__vector_size__(2 * sizeof(long long)))) long long *' drops const qualifier [-Werror,-Wcast-qual] __m128i *KEY = (__m128i*)key; ^ sys/crypto/aesni/aesni_ghash.c:292:33: error: cast from 'const unsigned char *' to '__attribute__((__vector_size__(2 * sizeof(long long)))) long long *' drops const qualifier [-Werror,-Wcast-qual] Y = _mm_loadu_si128((__m128i*)ivec); ^ sys/crypto/aesni/aesni_ghash.c:321:39: error: cast from 'const unsigned char *' to '__attribute__((__vector_size__(2 * sizeof(long long)))) long long *' drops const qualifier [-Werror,-Wcast-qual] tmp1 = _mm_loadu_si128(&((__m128i*)ivec)[i]); ^ sys/crypto/aesni/aesni_ghash.c:351:38: error: cast from 'const unsigned char *' to '__attribute__((__vector_size__(2 * sizeof(long long)))) long long *' drops const qualifier [-Werror,-Wcast-qual] tmp1 = _mm_loadu_si128(&((__m128i*)addt)[i*4]); ^ sys/crypto/aesni/aesni_ghash.c:352:38: error: cast from 'const unsigned char *' to '__attribute__((__vector_size__(2 * sizeof(long long)))) long long *' drops const qualifier [-Werror,-Wcast-qual] tmp2 = _mm_loadu_si128(&((__m128i*)addt)[i*4+1]); ^
In all cases I could find in aesni_ghash.c, it is no problem to use const casts, and declare a few specific variables as const, to fix all these warnings.
No functional change.