svn commit: r300773 - in head/sys: crypto crypto/aesni crypto/sha2 crypto/siphash kern sys
Allan Jude
allanjude at freebsd.org
Fri May 27 02:35:36 UTC 2016
On 2016-05-26 15:29, Conrad E. Meyer wrote:
> Author: cem
> Date: Thu May 26 19:29:29 2016
> New Revision: 300773
> URL: https://svnweb.freebsd.org/changeset/base/300773
>
> Log:
> crypto routines: Hint minimum buffer sizes to the compiler
>
> Use the C99 'static' keyword to hint to the compiler IVs and output digest
> sizes. The keyword informs the compiler of the minimum valid size for a given
> array. Obviously not every pointer can be validated (i.e., the compiler can
> produce false negative but not false positive reports).
>
> No functional change. No ABI change.
>
> Sponsored by: EMC / Isilon Storage Division
>
> Modified:
> head/sys/crypto/aesni/aesni.h
> head/sys/crypto/aesni/aesni_wrap.c
> head/sys/crypto/sha1.c
> head/sys/crypto/sha1.h
> head/sys/crypto/sha2/sha256.h
> head/sys/crypto/sha2/sha256c.c
> head/sys/crypto/sha2/sha384.h
> head/sys/crypto/sha2/sha512.h
> head/sys/crypto/sha2/sha512c.c
> head/sys/crypto/siphash/siphash.c
> head/sys/crypto/siphash/siphash.h
> head/sys/kern/md4c.c
> head/sys/kern/md5c.c
> head/sys/sys/md4.h
> head/sys/sys/md5.h
>
> Modified: head/sys/sys/md5.h
> ==============================================================================
> --- head/sys/sys/md5.h Thu May 26 19:17:51 2016 (r300772)
> +++ head/sys/sys/md5.h Thu May 26 19:29:29 2016 (r300773)
> @@ -44,10 +44,6 @@ typedef struct MD5Context {
> __BEGIN_DECLS
> void MD5Init (MD5_CTX *);
> void MD5Update (MD5_CTX *, const void *, unsigned int);
> -void MD5Final (unsigned char [16], MD5_CTX *);
> -char * MD5End(MD5_CTX *, char *);
> -char * MD5File(const char *, char *);
> -char * MD5FileChunk(const char *, char *, off_t, off_t);
> -char * MD5Data(const void *, unsigned int, char *);
> +void MD5Final (unsigned char[static MD5_DIGEST_LENGTH], MD5_CTX *);
> __END_DECLS
> #endif /* _SYS_MD5_H_ */
>
This seems to have broken on sparc64, and other gcc based arches:
===> lib/libc (obj,all,install)
In file included from /usr/src/lib/libc/../libmd/md5.h:40,
from /usr/src/lib/libc/../libmd/md5c.c:42:
/usr/obj/sparc64.sparc64/usr/src/tmp/usr/include/sys/md5.h:47:
error: static or type qualifiers in abstract declarator
--- md5c.o ---
*** [md5c.o] Error code 1
--
Allan Jude
More information about the svn-src-head
mailing list