From 800be1b6f9dc363936594994768ad4fc773017bd Mon Sep 17 00:00:00 2001 From: Craig Rodrigues Date: Thu, 16 Apr 2015 17:42:52 +0000 Subject: [PATCH] In the version of gcc in the FreeBSD tree, this modification was made to the compiler in svn r242182: #if STDC_HOSTED #include #endif A similar change was done to clang in the FreeBSD tree in svn r218893: However, for external gcc toolchains, this patch is not in the compiler's header file. This patch to FreeBSD's aesni code allows compilation with an external gcc toolchain. Differential Revision: https://reviews.freebsd.org/D2285 Reviewed by: jmg, dim Approved by: dim --- sys/crypto/aesni/aesencdec.h | 2 ++ sys/crypto/aesni/aesni_ghash.c | 1 + sys/crypto/aesni/aesni_os.h | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 sys/crypto/aesni/aesni_os.h diff --git a/sys/crypto/aesni/aesencdec.h b/sys/crypto/aesni/aesencdec.h index 5e4f128b7e7f..76e640356a80 100644 --- a/sys/crypto/aesni/aesencdec.h +++ b/sys/crypto/aesni/aesencdec.h @@ -27,6 +27,8 @@ * */ +#include + #include static inline void diff --git a/sys/crypto/aesni/aesni_ghash.c b/sys/crypto/aesni/aesni_ghash.c index 005ba81bc330..f7be6c089754 100644 --- a/sys/crypto/aesni/aesni_ghash.c +++ b/sys/crypto/aesni/aesni_ghash.c @@ -67,6 +67,7 @@ #ifdef _KERNEL #include +#include #else #include #endif diff --git a/sys/crypto/aesni/aesni_os.h b/sys/crypto/aesni/aesni_os.h new file mode 100644 index 000000000000..273c3f9b4f5e --- /dev/null +++ b/sys/crypto/aesni/aesni_os.h @@ -0,0 +1,33 @@ +/*- + * Copyright 2015 Craig Rodrigues + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * + */ + +#if defined(__GNUC__) && defined(_KERNEL) +/* Suppress inclusion of gcc's mm_malloc.h header */ +#define _MM_MALLOC_H_INCLUDED 1 +#endif