mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 21:43:30 +08:00
40c35798db
Include stdio.h to avoid that __progname check wrongly returned that
the function is unavailable with gcc >= 14 which enables
-Werror=implicit-function-declaration
(https://gcc.gnu.org/gcc-14/porting_to.html):
configure:5231: checking if libc defines __progname
configure:5249: /home/autobuild/autobuild/instance-7/output-1/host/bin/sh4-buildroot-linux-musl-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c >&5
conftest.c: In function 'main':
conftest.c:73:27: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
73 | extern char *__progname; printf("%s", __progname);
| ^~~~~~
conftest.c:1:1: note: include '<stdio.h>' or provide a declaration of 'printf'
1 | /* confdefs.h */
conftest.c:73:27: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
73 | extern char *__progname; printf("%s", __progname);
| ^~~~~~
conftest.c:73:27: note: include '<stdio.h>' or provide a declaration of 'printf'
resulting in the following static build failure:
/home/autobuild/autobuild/instance-7/output-1/host/lib/gcc/sh4-buildroot-linux-musl/14.1.0/../../../../sh4-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-7/output-1/host/sh4-buildroot-linux-musl/sysroot/lib/libc.a(libc.o):(.bss.__progname+0x0): multiple definition of `__progname'; autossh.o:(.bss+0x120): first defined here
Fixes:
- http://autobuild.buildroot.org/results/5d80a8096d0f5529cbd86903a74f3bab3d230f4a
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 65672b9cd0
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
53 lines
2.6 KiB
Diff
53 lines
2.6 KiB
Diff
From 3a74eff481f37975e04f00db4923b1c16f93497d Mon Sep 17 00:00:00 2001
|
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Date: Sat, 20 Jul 2024 16:06:37 +0200
|
|
Subject: [PATCH] configure.ac: fix __progname check with gcc >= 14
|
|
|
|
Include stdio.h to avoid that __progname check wrongly returns that
|
|
the function is unavailable with gcc >= 14 which enables
|
|
-Werror=implicit-function-declaration
|
|
(https://gcc.gnu.org/gcc-14/porting_to.html):
|
|
|
|
configure:5231: checking if libc defines __progname
|
|
configure:5249: /home/autobuild/autobuild/instance-7/output-1/host/bin/sh4-buildroot-linux-musl-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c >&5
|
|
conftest.c: In function 'main':
|
|
conftest.c:73:27: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
|
|
73 | extern char *__progname; printf("%s", __progname);
|
|
| ^~~~~~
|
|
conftest.c:1:1: note: include '<stdio.h>' or provide a declaration of 'printf'
|
|
1 | /* confdefs.h */
|
|
conftest.c:73:27: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
|
|
73 | extern char *__progname; printf("%s", __progname);
|
|
| ^~~~~~
|
|
conftest.c:73:27: note: include '<stdio.h>' or provide a declaration of 'printf'
|
|
|
|
resulting in the following static build failure:
|
|
|
|
/home/autobuild/autobuild/instance-7/output-1/host/lib/gcc/sh4-buildroot-linux-musl/14.1.0/../../../../sh4-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-7/output-1/host/sh4-buildroot-linux-musl/sysroot/lib/libc.a(libc.o):(.bss.__progname+0x0): multiple definition of `__progname'; autossh.o:(.bss+0x120): first defined here
|
|
|
|
Fixes:
|
|
- http://autobuild.buildroot.org/results/5d80a8096d0f5529cbd86903a74f3bab3d230f4a
|
|
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Upstream: https://github.com/Autossh/autossh/pull/9
|
|
---
|
|
configure.ac | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 4bb9380..dadb523 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -132,7 +132,7 @@ AC_CHECK_LIB(socket, connect)
|
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [
|
|
- AC_TRY_LINK([],
|
|
+ AC_TRY_LINK([ #include <stdio.h> ],
|
|
[ extern char *__progname; printf("%s", __progname); ],
|
|
[ ac_cv_libc_defines___progname="yes" ],
|
|
[ ac_cv_libc_defines___progname="no" ]
|
|
--
|
|
2.43.0
|
|
|