44d5f1d05d
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] 7055c764c8
Suggested-by: Artem Panfilov <artemp@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
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 <raj.khem@gmail.com>
|
|
[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 <abrokdin@synopsys.com>
|
|
---
|
|
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
|
|
|