From: Peter Marko <[email protected]>

Signed-off-by: Peter Marko <[email protected]>
---
 ...d-failure-with-glibc-2.43-_Generic-m.patch | 41 +++++++++++++++++++
 .../recipes-support/ntp/ntp_4.2.8p18.bb       |  1 +
 2 files changed, 42 insertions(+)
 create mode 100644 
meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch

diff --git 
a/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch
 
b/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch
new file mode 100644
index 0000000000..89797b3aa8
--- /dev/null
+++ 
b/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch
@@ -0,0 +1,41 @@
+From c7d76559dada2a6c0c9c18e8343a69b1eabc031e Mon Sep 17 00:00:00 2001
+From: Peter Marko <[email protected]>
+Date: Fri, 13 Mar 2026 13:20:20 +0100
+Subject: [PATCH] include: fix build failure with glibc 2.38+ _Generic memchr
+ macro
+
+Newer glibc defines memchr as a _Generic macro in <string.h>.
+When sntp's config.h lacks a HAVE_MEMCHR definition, the #ifndef guard
+in l_stdlib.h passes and the extern declaration of memchr is emitted.
+The preprocessor expands the memchr token into _Generic(...), producing:
+
+  l_stdlib.h:225:14: error: expected identifier or '(' before '_Generic'
+
+Guard the fallback declarations of memchr and strnlen with an additional
+!defined(memchr) / !defined(strnlen) check so they are skipped when the
+symbols are already provided as macros by the C library headers.
+
+Upstream-Status: Pending
+Signed-off-by: Peter Marko <[email protected]>
+---
+ include/l_stdlib.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/l_stdlib.h b/include/l_stdlib.h
+index fbf57c5..195dc41 100644
+--- a/include/l_stdlib.h
++++ b/include/l_stdlib.h
+@@ -221,11 +221,11 @@ extern   int     errno;
+ extern        int     h_errno;
+ #endif
+ 
+-#ifndef HAVE_MEMCHR
++#if !defined(HAVE_MEMCHR) && !defined(memchr)
+ extern void *memchr(const void *s, int c, size_t n);
+ #endif
+ 
+-#ifndef HAVE_STRNLEN
++#if !defined(HAVE_STRNLEN) && !defined(strnlen)
+ extern size_t strnlen(const char *s, size_t n);
+ #endif
+ 
diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb 
b/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb
index a5a6048f8a..e59725e3e9 100644
--- a/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb
+++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb
@@ -16,6 +16,7 @@ SRC_URI = 
"http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g
            file://0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch \
            
file://0001-test-Fix-build-with-new-compiler-defaults-to-fno-com.patch \
            file://0001-sntp-Fix-types-in-check-for-pthread_detach.patch \
+           
file://0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch \
            file://ntpd \
            file://ntp.conf \
            file://ntpd.service \
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#125206): 
https://lists.openembedded.org/g/openembedded-devel/message/125206
Mute This Topic: https://lists.openembedded.org/mt/118312953/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to