package/gmp: add patch to fix build with gcc-15
When using host gcc 15, host-gmp fails at configure time with
error message:
configure: error: could not find a working compiler, see config.log for details
The error is due to the macro GMP_PROG_CC_WORKS in the file
acinclude.m4 containing C-code declaring functions without declaring
its parameters. This construct is now an error in C23, which is the
new default in gcc 15. See:
https://gcc.gnu.org/gcc-15/porting_to.html#c23
This commit fixes the issue by adding a package patch from
upstream changesets, not yet published in a release.
Even if gcc 15 is not yet included in Buildroot, this commit also
sets _AUTORECONF = YES for the target package in order to have this
package already fixed.
Fixes:
https://autobuild.buildroot.org/results/623634fa7bbeceeb6d90b15ce0abb1b9b4b24045/
Tested-by: Brigham Campbell <me@brighamcampbell.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
From 9cd0c36d0110191a5f42e268d7bd21a95a2aa883 Mon Sep 17 00:00:00 2001
|
||||
From: Marc Glisse <marc.glisse@inria.fr>
|
||||
Date: Wed, 29 Jan 2025 22:38:02 +0100
|
||||
Subject: [PATCH] Complete function prototype in acinclude.m4 for C23
|
||||
compatibility
|
||||
|
||||
Add parameter names to function prototype
|
||||
|
||||
Upstream: https://gmplib.org/repo/gmp/rev/d66d66d82dbb
|
||||
Upstream: https://gmplib.org/repo/gmp/rev/8e7bb4ae7a18
|
||||
Signed-off-by: Marc Glisse <marc.glisse@inria.fr>
|
||||
[Julien: git patch adapted from two upstream mercurial changesets]
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
ChangeLog | 9 +++++++++
|
||||
acinclude.m4 | 2 +-
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index 2902cd2..d808a8b 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -1,3 +1,12 @@
|
||||
+2025-03-15 Khem Raj <raj.khem@gmail.com>
|
||||
+
|
||||
+ * acinclude.m4: Add parameter names to function prototype.
|
||||
+
|
||||
+2025-01-29 Rudi Heitbaum <rudi@heitbaum.com>
|
||||
+ Marc Glisse <marc.glisse@inria.fr>
|
||||
+
|
||||
+ * acinclude.m4: Complete function prototype.
|
||||
+
|
||||
2023-07-29 Torbjörn Granlund <tg@gmplib.org>
|
||||
|
||||
* Version 6.3.0 released.
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 9cf9483..b79a431 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 1],
|
||||
|
||||
#if defined (__GNUC__) && ! defined (__cplusplus)
|
||||
typedef unsigned long long t1;typedef t1*t2;
|
||||
-void g(){}
|
||||
+void g(int a,t1 const*b,t1 c,t2 d,t1 const*e,int f){}
|
||||
void h(){}
|
||||
static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0)
|
||||
{t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;}
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -14,6 +14,10 @@ GMP_CPE_ID_VENDOR = gmplib
|
||||
GMP_DEPENDENCIES = host-m4
|
||||
HOST_GMP_DEPENDENCIES = host-m4
|
||||
|
||||
# 0001-Complete-function-prototype-in-acinclude.m4-for-C23-.patch
|
||||
GMP_AUTORECONF = YES
|
||||
HOST_GMP_AUTORECONF = YES
|
||||
|
||||
GMP_CONF_ENV += CC_FOR_BUILD="$(HOSTCC) -std=c99"
|
||||
|
||||
# GMP doesn't support assembly for coldfire or mips r6 ISA yet
|
||||
|
||||
Reference in New Issue
Block a user