mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
package/sexpect: fix build with GCC 14 and uClibc
GCC 14 makes implicit declaration an error by default, which breaks
build with uClibc when _GNU_SOURCE is not defined. Add a patch adding
_GNU_SOURCE for uClibc build.
Fixes:
https://autobuild.buildroot.org/results/2c284d800e59e41669a5da85ca23e2923eea7997/
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit f39d38d77a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
552ba600ee
commit
63e6f819b9
@@ -0,0 +1,69 @@
|
|||||||
|
From 7ef4ef027c5064502bba23869aed9d1595a4e301 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-ID: <7ef4ef027c5064502bba23869aed9d1595a4e301.1732873390.git.baruch@tkos.co.il>
|
||||||
|
From: Baruch Siach <baruch@tkos.co.il>
|
||||||
|
Date: Fri, 29 Nov 2024 11:36:16 +0200
|
||||||
|
Subject: [PATCH] Unconditionally define _GNU_SOURCE
|
||||||
|
|
||||||
|
uClibc also uses _GNU_SOURCE to expose glibc compatible API extensions.
|
||||||
|
But toolchain built with uClibc don't define __gnu_linux__. This leads
|
||||||
|
to implicit declaration warnings at build time. With GCC 14 these
|
||||||
|
warnings become errors by default.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.../sexpect-2.3.14/server.c: In function 'expect_exact':
|
||||||
|
.../sexpect-2.3.14/server.c:630:17: error: implicit declaration of function 'strcasestr'; did you mean 'strcasecmp'?
|
||||||
|
[-Wimplicit-function-declaration]
|
||||||
|
630 | found = strcasestr(g.expbuf, g.conn.pass.pattern);
|
||||||
|
| ^~~~~~~~~~
|
||||||
|
| strcasecmp
|
||||||
|
|
||||||
|
Define _GNU_SOURCE unconditionally to fix the build.
|
||||||
|
|
||||||
|
Upstream: https://github.com/clarkwang/sexpect/pull/40
|
||||||
|
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||||
|
---
|
||||||
|
main.c | 2 --
|
||||||
|
pty.c | 2 --
|
||||||
|
server.c | 2 --
|
||||||
|
3 files changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/main.c b/main.c
|
||||||
|
index 886050a887c1..2bc7c867e297 100644
|
||||||
|
--- a/main.c
|
||||||
|
+++ b/main.c
|
||||||
|
@@ -1,7 +1,5 @@
|
||||||
|
|
||||||
|
-#if defined(__gnu_linux__) || defined(__CYGWIN__)
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <limits.h>
|
||||||
|
diff --git a/pty.c b/pty.c
|
||||||
|
index bf4f6e99805e..f90325d87c77 100644
|
||||||
|
--- a/pty.c
|
||||||
|
+++ b/pty.c
|
||||||
|
@@ -1,7 +1,5 @@
|
||||||
|
|
||||||
|
-#if defined(__gnu_linux__) || defined(__CYGWIN__)
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
diff --git a/server.c b/server.c
|
||||||
|
index c7e41e0a7dc4..308852f08089 100644
|
||||||
|
--- a/server.c
|
||||||
|
+++ b/server.c
|
||||||
|
@@ -1,7 +1,5 @@
|
||||||
|
|
||||||
|
-#if defined(__gnu_linux__) || defined(__CYGWIN__)
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
||||||
Reference in New Issue
Block a user