From 44d5f1d05d9cf9dc03af22ae32d31cb3f647a339 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Mon, 13 Sep 2021 15:59:11 +0300 Subject: [PATCH] package/ntp: Fix building with glibc 2.34+ On attempt to build ntp with glibc 2.34 the following error happens: -------------------------------->8------------------------------ In file included from .../output/host/lib/gcc/i586-buildroot-linux-gnu/10.3.0/include-fixed/pthread.h:42, from work_thread.c:13: work_thread.c:45:57: error: missing binary operator before token "(" 45 | #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN | ^~~~~~~~~~~~~~~~~ -------------------------------->8------------------------------ That's because starting from glibc 2.34 PTHREAD_STACK_MIN gets determined dynamically in runtime via sysconf(), see [1]. Original fix proposed by Khem Raj in OpenEmbedded, see [2]. [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=5d98a7dae955bafa6740c26eaba9c86060ae0344 [2] https://github.com/openembedded/meta-openembedded/commit/7055c764c83150f9310ce04bcfb19330460582fc Suggested-by: Artem Panfilov Signed-off-by: Alexey Brodkin Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...o-not-use-PTHREAD_STACK_MIN-on-glibc.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch diff --git a/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch b/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch new file mode 100644 index 0000000000..da03ad4aac --- /dev/null +++ b/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch @@ -0,0 +1,33 @@ +From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 31 Jul 2021 10:51:41 -0700 +Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc + +In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which +could mean different stack sizes at runtime on different architectures +and it also causes compile failure. Default glibc thread stack size +or 64Kb set by ntp should be good in glibc these days. + +Signed-off-by: Khem Raj +[Copied from https://github.com/openembedded/meta-openembedded/blob/master/meta-networking/recipes-support/ntp/ntp/0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch] +Signed-off-by: Alexey Brodkin +--- + libntp/work_thread.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libntp/work_thread.c b/libntp/work_thread.c +index 03a5647..3ddd751 100644 +--- a/libntp/work_thread.c ++++ b/libntp/work_thread.c +@@ -41,7 +41,7 @@ + #ifndef THREAD_MINSTACKSIZE + # define THREAD_MINSTACKSIZE (64U * 1024) + #endif +-#ifndef __sun ++#if !defined(__sun) && !defined(__GLIBC__) + #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN + # undef THREAD_MINSTACKSIZE + # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN +-- +2.32.0 + -- 2.30.2