* [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14
@ 2024-07-20 12:29 Fabrice Fontaine
2024-07-20 20:50 ` Thomas Petazzoni via buildroot
2024-08-29 6:05 ` Peter Korsgaard
0 siblings, 2 replies; 3+ messages in thread
From: Fabrice Fontaine @ 2024-07-20 12:29 UTC (permalink / raw)
To: buildroot; +Cc: Semyon Kolganov, Fabrice Fontaine
Fix the following build failure with host gcc >= 14 which enables
-Werror=implicit-function-declaration
(https://gcc.gnu.org/gcc-14/porting_to.html):
configure:9998: checking build system compiler /usr/bin/gcc
configure:10011: /usr/bin/gcc conftest.c
conftest.c: In function 'main':
conftest.c:4:3: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
4 | exit(0);
| ^~~~
conftest.c:1:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
+++ |+#include <stdlib.h>
1 | int
conftest.c:4:3: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
4 | exit(0);
| ^~~~
conftest.c:4:3: note: include '<stdlib.h>' or provide a declaration of 'exit'
configure:10014: $? = 1
configure:10021: result: no
configure:10026: error: Specified CC_FOR_BUILD doesn't seem to work
Fixes:
- http://autobuild.buildroot.org/results/3ab381f06d5dc030039b6f6f8d19feb55cf3367d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
...-Fix-configure-failures-with-Xcode12.patch | 116 ++++++++++++++++++
package/mpir/mpir.mk | 2 +
2 files changed, 118 insertions(+)
create mode 100644 package/mpir/0002-Fix-configure-failures-with-Xcode12.patch
diff --git a/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch b/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch
new file mode 100644
index 0000000000..453515f926
--- /dev/null
+++ b/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch
@@ -0,0 +1,116 @@
+From bbc43ca6ae0bec4f64e69c9cd4c967005d6470eb Mon Sep 17 00:00:00 2001
+From: Mitchell Blank Jr <mitch@bodyfour.com>
+Date: Mon, 21 Dec 2020 12:05:19 +0000
+Subject: [PATCH] Fix configure failures with Xcode12
+
+Changes are needed becuase Xcode12 includes a default of
+-Werror,-Wimplicit-function-declaration which means that
+even something like calling "exit(0);" is a compile failure
+if you haven't done a "#include <stdlib.h>" first (as C99
+requires, but most other compilers will just warn about)
+
+I don't know if the "long long reliability test 2" test which
+tries to provoke a crash on a particular gcc 3.3 build still
+does what it was originally intended to do with my change.
+Of course, I doubt anyone has tried to use that compiler in
+years.
+
+Fixes #290
+
+Upstream: https://github.com/wbhart/mpir/commit/bbc43ca6ae0bec4f64e69c9cd4c967005d6470eb
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ acinclude.m4 | 24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 91c35bc23..620a629ef 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -589,9 +589,9 @@ extern
+ #endif
+ __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;}
+-f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1 got[9];int i;
++void f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1 got[9];int i;
+ for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
+-h(){}g(){}
++void h(){} void g(){}
+ #else
+ int dummy;
+ #endif
+@@ -603,8 +603,9 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 2],
+ 1666 to get an ICE with -O1 -mpowerpc64. */
+
+ #ifdef __GNUC__
+-f(int u){int i;long long x;x=u?~0:0;if(x)for(i=0;i<9;i++);x&=g();if(x)g();}
+-g(){}
++extern int g();
++void f(int u){int i;long long x;x=u?~0:0;if(x)for(i=0;i<9;i++);x&=g();if(x)g();}
++int g(){return 0;}
+ #else
+ int dummy;
+ #endif
+@@ -3323,11 +3324,11 @@ check (va_alist)
+ ret = vsnprintf (buf, 4, fmt, ap);
+
+ if (strcmp (buf, "hel") != 0)
+- exit (1);
++ return 1;
+
+ /* allowed return values */
+ if (ret != -1 && ret != 3 && ret != 11)
+- exit (2);
++ return 2;
+
+ return 0;
+ }
+@@ -3336,7 +3337,7 @@ int
+ main ()
+ {
+ $i
+- exit (0);
++ return 0;
+ }
+ ],
+ [:],
+@@ -3469,7 +3470,7 @@ cat >conftest.c <<EOF
+ int
+ main ()
+ {
+- exit(0);
++ return 0;
+ }
+ EOF
+ gmp_compile="$1 conftest.c"
+@@ -3543,7 +3544,7 @@ AC_CACHE_CHECK([for build system executable suffix],
+ int
+ main ()
+ {
+- exit (0);
++ return 0;
+ }
+ EOF
+ for i in .exe ,ff8 ""; do
+@@ -3577,7 +3578,7 @@ AC_CACHE_CHECK([whether build system compiler is ANSI],
+ int
+ main (int argc, char *argv[])
+ {
+- exit(0);
++ return 0;
+ }
+ EOF
+ gmp_compile="$CC_FOR_BUILD conftest.c"
+@@ -3608,10 +3609,11 @@ AC_DEFUN([GMP_CHECK_LIBM_FOR_BUILD],
+ AC_CACHE_CHECK([for build system compiler math library],
+ gmp_cv_check_libm_for_build,
+ [cat >conftest.c <<EOF
++#include <math.h>
+ int
+ main ()
+ {
+- exit(0);
++ return 0;
+ }
+ double d;
+ double
diff --git a/package/mpir/mpir.mk b/package/mpir/mpir.mk
index d26b6c39aa..431caf3e2b 100644
--- a/package/mpir/mpir.mk
+++ b/package/mpir/mpir.mk
@@ -11,6 +11,8 @@ MPIR_LICENSE = LGPL-3.0+
MPIR_LICENSE_FILES = COPYING.LIB
MPIR_INSTALL_STAGING = YES
MPIR_DEPENDENCIES = gmp host-yasm
+# 0002-Fix-configure-failures-with-Xcode12.patch
+MPIR_AUTORECONF = YES
ifeq ($(BR2_MIPS_NABI32),y)
MPIR_CONF_OPTS += ABI=n32
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14
2024-07-20 12:29 [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14 Fabrice Fontaine
@ 2024-07-20 20:50 ` Thomas Petazzoni via buildroot
2024-08-29 6:05 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-20 20:50 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: Semyon Kolganov, buildroot
On Sat, 20 Jul 2024 14:29:08 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Fix the following build failure with host gcc >= 14 which enables
> -Werror=implicit-function-declaration
> (https://gcc.gnu.org/gcc-14/porting_to.html):
>
> configure:9998: checking build system compiler /usr/bin/gcc
> configure:10011: /usr/bin/gcc conftest.c
> conftest.c: In function 'main':
> conftest.c:4:3: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
> 4 | exit(0);
> | ^~~~
> conftest.c:1:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
> +++ |+#include <stdlib.h>
> 1 | int
> conftest.c:4:3: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
> 4 | exit(0);
> | ^~~~
> conftest.c:4:3: note: include '<stdlib.h>' or provide a declaration of 'exit'
> configure:10014: $? = 1
> configure:10021: result: no
> configure:10026: error: Specified CC_FOR_BUILD doesn't seem to work
>
> Fixes:
> - http://autobuild.buildroot.org/results/3ab381f06d5dc030039b6f6f8d19feb55cf3367d
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> ...-Fix-configure-failures-with-Xcode12.patch | 116 ++++++++++++++++++
> package/mpir/mpir.mk | 2 +
> 2 files changed, 118 insertions(+)
> create mode 100644 package/mpir/0002-Fix-configure-failures-with-Xcode12.patch
I had investigated the issue as well, and came to the exact same
conclusion, so: patch applied. Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14
2024-07-20 12:29 [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14 Fabrice Fontaine
2024-07-20 20:50 ` Thomas Petazzoni via buildroot
@ 2024-08-29 6:05 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2024-08-29 6:05 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: Semyon Kolganov, buildroot
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
> Fix the following build failure with host gcc >= 14 which enables
> -Werror=implicit-function-declaration
> (https://gcc.gnu.org/gcc-14/porting_to.html):
> configure:9998: checking build system compiler /usr/bin/gcc
> configure:10011: /usr/bin/gcc conftest.c
> conftest.c: In function 'main':
> conftest.c:4:3: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
> 4 | exit(0);
> | ^~~~
> conftest.c:1:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
> +++ |+#include <stdlib.h>
> 1 | int
> conftest.c:4:3: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
> 4 | exit(0);
> | ^~~~
> conftest.c:4:3: note: include '<stdlib.h>' or provide a declaration of 'exit'
> configure:10014: $? = 1
> configure:10021: result: no
> configure:10026: error: Specified CC_FOR_BUILD doesn't seem to work
> Fixes:
> - http://autobuild.buildroot.org/results/3ab381f06d5dc030039b6f6f8d19feb55cf3367d
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Committed to 2024.02.x and 2024.05.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-29 6:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-20 12:29 [Buildroot] [PATCH 1/1] package/mpir: fix build with host gcc >= 14 Fabrice Fontaine
2024-07-20 20:50 ` Thomas Petazzoni via buildroot
2024-08-29 6:05 ` Peter Korsgaard
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.