From 5b611f2dc63ce45ca4cd9eea88ab5c6c8dc5fef8 Mon Sep 17 00:00:00 2001 From: Brandon Maier Date: Fri, 15 Mar 2024 23:43:16 +0000 Subject: [PATCH] package/gmp: fix target build with host gcc 4.9 GMP does not build if the host gcc is v4.9 due to the following error gen-sieve.c: In function 'setmask': gen-sieve.c:99:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode for (unsigned i = 0; i < 2 * a * b; ++i) ^ gen-sieve.c:99:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code The gen-sieve utility was added in GMP v6.3.0. It is built using CC_FOR_BUILD (host compiler) during cross compilation as it generates build files. Autoconf does not have a macro for add -std=c99 to CC_FOR_BUILD, so it must be set manually. For the target, it is set correctly thanks to the AC_PROG_CC_C99 macro. Signed-off-by: Brandon Maier Signed-off-by: Arnout Vandecappelle (cherry picked from commit 9553dc9a55c13916c26aaae4fac037d35ddacca3) Signed-off-by: Peter Korsgaard --- package/gmp/gmp.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index bd401c6a80..7e8da9025c 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -14,6 +14,8 @@ GMP_CPE_ID_VENDOR = gmplib GMP_DEPENDENCIES = host-m4 HOST_GMP_DEPENDENCIES = host-m4 +GMP_CONF_ENV += CC_FOR_BUILD="$(HOSTCC) -std=c99" + # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M),y)