diff options
Diffstat (limited to '0014-efibind-Fix-usage-of-efi-headers-from-C-code.patch')
-rw-r--r-- | 0014-efibind-Fix-usage-of-efi-headers-from-C-code.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/0014-efibind-Fix-usage-of-efi-headers-from-C-code.patch b/0014-efibind-Fix-usage-of-efi-headers-from-C-code.patch new file mode 100644 index 0000000..de2fa86 --- /dev/null +++ b/0014-efibind-Fix-usage-of-efi-headers-from-C-code.patch @@ -0,0 +1,108 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Alexander von Gluck IV <kallisti5@unixzen.com> +Date: Wed, 27 Nov 2019 17:03:42 -0600 +Subject: [PATCH] efibind: Fix usage of efi headers from C++ code + +* __STDC_VERSION__ is undefined when headers are called from C++ + code resulting in not using stdint.h and efibind.h + "making a guess" on what they are. extern "C" will not define + __STDC_VERSION__. +* Always leverage stdint.h on C++. +* Honestly, gnu-efi should always use stdint.h, or find a better + way to detect it. (or platforms without it need to catch up to 2007) +--- + inc/aarch64/efibind.h | 2 +- + inc/arm/efibind.h | 2 +- + inc/ia32/efibind.h | 2 +- + inc/ia64/efibind.h | 2 +- + inc/mips64el/efibind.h | 2 +- + inc/x86_64/efibind.h | 4 ++-- + 6 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/inc/aarch64/efibind.h b/inc/aarch64/efibind.h +index 3c8cf963c31..c2c546b892a 100644 +--- a/inc/aarch64/efibind.h ++++ b/inc/aarch64/efibind.h +@@ -15,7 +15,7 @@ + * either version 2 of the License, or (at your option) any later version. + */ + +-#if !defined(_MSC_VER) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L )) ++#if !defined(_MSC_VER) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L )) && !defined(__cplusplus) + + // ANSI C 1999/2000 stdint.h integer width declarations + +diff --git a/inc/arm/efibind.h b/inc/arm/efibind.h +index 7a22b9c8458..012d3d2f8c9 100644 +--- a/inc/arm/efibind.h ++++ b/inc/arm/efibind.h +@@ -15,7 +15,7 @@ + * either version 2 of the License, or (at your option) any later version. + */ + +-#if !defined(_MSC_VER) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L )) ++#if !defined(_MSC_VER) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L )) && !defined(__cplusplus) + + // ANSI C 1999/2000 stdint.h integer width declarations + +diff --git a/inc/ia32/efibind.h b/inc/ia32/efibind.h +index dd0138573d9..27459e454d1 100644 +--- a/inc/ia32/efibind.h ++++ b/inc/ia32/efibind.h +@@ -25,7 +25,7 @@ Revision History + // Basic int types of various widths + // + +-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) ++#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) && !defined(__cplusplus) + + // No ANSI C 1999/2000 stdint.h integer width declarations + +diff --git a/inc/ia64/efibind.h b/inc/ia64/efibind.h +index b9b2e624657..3ace8d59190 100644 +--- a/inc/ia64/efibind.h ++++ b/inc/ia64/efibind.h +@@ -24,7 +24,7 @@ Revision History + // Basic int types of various widths + // + +-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) ++#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) && !defined(__cplusplus) + + // No ANSI C 1999/2000 stdint.h integer width declarations + +diff --git a/inc/mips64el/efibind.h b/inc/mips64el/efibind.h +index 32241e5ad46..1f08cd346d0 100644 +--- a/inc/mips64el/efibind.h ++++ b/inc/mips64el/efibind.h +@@ -17,7 +17,7 @@ + * either version 2 of the License, or (at your option) any later version. + */ + +-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) ++#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) && !defined(__cplusplus) + + // ANSI C 1999/2000 stdint.h integer width declarations + +diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h +index ae40595be0b..31e9e119d74 100644 +--- a/inc/x86_64/efibind.h ++++ b/inc/x86_64/efibind.h +@@ -34,7 +34,7 @@ Revision History + // Basic int types of various widths + // + +-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) ++#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L ) && !defined(__cplusplus) + + // No ANSI C 1999/2000 stdint.h integer width declarations + +@@ -86,7 +86,7 @@ Revision History + #endif + typedef uint64_t uintptr_t; + typedef int64_t intptr_t; +-#elif defined(__GNUC__) ++#else + #include <stdint.h> + #endif + |