After doing some validation with clang from versions 3.8 and up, the builds prior to version 8.0.0 fail due to the use of safemath functions at link time.
Signed-off-by: Darren Kenny <darren.ke...@oracle.com> fix Signed-off-by: Darren Kenny <darren.ke...@oracle.com> --- INSTALL | 2 +- include/grub/safemath.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/INSTALL b/INSTALL index 7bca64f69881..620dcceb4814 100644 --- a/INSTALL +++ b/INSTALL @@ -16,7 +16,7 @@ you don't have any of them, please obtain and install them before configuring the GRUB. * GCC 5.1.0 or later - Experimental support for clang 3.8.0 or later (results in much bigger binaries) + Experimental support for clang 8.0.0 or later (results in much bigger binaries) for i386, x86_64, arm (including thumb), arm64, mips(el), powerpc, sparc64 * GNU Make * GNU Bison 2.3 or later diff --git a/include/grub/safemath.h b/include/grub/safemath.h index c17b89bba17b..c2e338263107 100644 --- a/include/grub/safemath.h +++ b/include/grub/safemath.h @@ -23,15 +23,15 @@ #include <grub/compiler.h> -/* These appear in gcc 5.1 and clang 3.8. */ -#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8) +/* These appear in gcc 5.1 and clang 8.0 */ +#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(8, 0) #define grub_add(a, b, res) __builtin_add_overflow(a, b, res) #define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res) #define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res) #else -#error gcc 5.1 or newer or clang 3.8 or newer is required +#error gcc 5.1 or newer or clang 8.0 or newer is required #endif #endif /* GRUB_SAFEMATH_H */ -- 2.31.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel