From: Jackie Liu <liuyun01@kylinos.cn> To: ard.biesheuvel@linaro.org Cc: linux-arm-kernel@lists.infradead.org, linux-block@vger.kernel.org, Jackie Liu <liuyun01@kylinos.cn> Subject: [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types Date: Tue, 27 Nov 2018 13:27:00 +0800 [thread overview] Message-ID: <20181127052701.4144-1-liuyun01@kylinos.cn> (raw) In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround for ambiguous C99 stdint.h types"), this patch redefines the macros that are used in stdint.h so its definitions of uint64_t and int64_t are compatible with those of the kernel. This patch comes from: https://patchwork.kernel.org/patch/3540001/ Wrote by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Jackie Liu <liuyun01@kylinos.cn> --- arch/arm64/include/uapi/asm/types.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 arch/arm64/include/uapi/asm/types.h diff --git a/arch/arm64/include/uapi/asm/types.h b/arch/arm64/include/uapi/asm/types.h new file mode 100644 index 0000000..0016780 --- /dev/null +++ b/arch/arm64/include/uapi/asm/types.h @@ -0,0 +1,26 @@ +#ifndef _UAPI_ASM_TYPES_H +#define _UAPI_ASM_TYPES_H + +#include <asm-generic/int-ll64.h> + +/* + * For Aarch64, there is some ambiguity in the definition of the types below + * between the kernel and GCC itself. This is usually not a big deal, but it + * causes trouble when including GCC's version of 'stdint.h' (this is the file + * that gets included when you #include <stdint.h> on a -ffreestanding build). + * As this file also gets included implicitly when including 'arm_neon.h' (the + * NEON intrinsics support header), we need the following to work around the + * issue if we want to use NEON intrinsics in the kernel. + */ + +#ifdef __INT64_TYPE__ +#undef __INT64_TYPE__ +#define __INT64_TYPE__ __signed__ long long +#endif + +#ifdef __UINT64_TYPE__ +#undef __UINT64_TYPE__ +#define __UINT64_TYPE__ unsigned long long +#endif + +#endif /* _UAPI_ASM_TYPES_H */ -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: liuyun01@kylinos.cn (Jackie Liu) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types Date: Tue, 27 Nov 2018 13:27:00 +0800 [thread overview] Message-ID: <20181127052701.4144-1-liuyun01@kylinos.cn> (raw) In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround for ambiguous C99 stdint.h types"), this patch redefines the macros that are used in stdint.h so its definitions of uint64_t and int64_t are compatible with those of the kernel. This patch comes from: https://patchwork.kernel.org/patch/3540001/ Wrote by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Jackie Liu <liuyun01@kylinos.cn> --- arch/arm64/include/uapi/asm/types.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 arch/arm64/include/uapi/asm/types.h diff --git a/arch/arm64/include/uapi/asm/types.h b/arch/arm64/include/uapi/asm/types.h new file mode 100644 index 0000000..0016780 --- /dev/null +++ b/arch/arm64/include/uapi/asm/types.h @@ -0,0 +1,26 @@ +#ifndef _UAPI_ASM_TYPES_H +#define _UAPI_ASM_TYPES_H + +#include <asm-generic/int-ll64.h> + +/* + * For Aarch64, there is some ambiguity in the definition of the types below + * between the kernel and GCC itself. This is usually not a big deal, but it + * causes trouble when including GCC's version of 'stdint.h' (this is the file + * that gets included when you #include <stdint.h> on a -ffreestanding build). + * As this file also gets included implicitly when including 'arm_neon.h' (the + * NEON intrinsics support header), we need the following to work around the + * issue if we want to use NEON intrinsics in the kernel. + */ + +#ifdef __INT64_TYPE__ +#undef __INT64_TYPE__ +#define __INT64_TYPE__ __signed__ long long +#endif + +#ifdef __UINT64_TYPE__ +#undef __UINT64_TYPE__ +#define __UINT64_TYPE__ unsigned long long +#endif + +#endif /* _UAPI_ASM_TYPES_H */ -- 2.7.4
next reply other threads:[~2018-11-27 5:28 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-11-27 5:27 Jackie Liu [this message] 2018-11-27 5:27 ` [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types Jackie Liu 2018-11-27 5:27 ` [PATCH v2 2/2] arm64: crypto: add NEON accelerated XOR implementation Jackie Liu 2018-11-27 5:27 ` Jackie Liu 2018-11-27 8:17 ` [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types Ard Biesheuvel 2018-11-27 8:17 ` Ard Biesheuvel 2018-11-27 10:01 ` JackieLiu 2018-11-27 10:01 ` JackieLiu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20181127052701.4144-1-liuyun01@kylinos.cn \ --to=liuyun01@kylinos.cn \ --cc=ard.biesheuvel@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-block@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.