package/coreutils: fix build without threads

Build of coreutils without threads is broken since bump to version 8.32
in commit b4a0f9fb0e

Fixes:
 - http://autobuild.buildroot.org/results/8d00bdabef73daa2a1d1f4c6e183dda447a82134

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr:
  - do an actual backport of patch 0002
  - add upstream status for patch 0003
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Fabrice Fontaine 2021-04-04 21:19:44 +02:00 committed by Yann E. MORIN
parent cb81c441e3
commit b3ba0f1d2f
3 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,59 @@
From 7622a0a4c6309f9cecaeef72569da687eb5b6b93 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Mon, 5 Apr 2021 01:13:29 +0200
Subject: [PATCH] pthread-cond: Fix wrong configure results when <pthread.h> is
absent.
* m4/pthread-cond.m4 (gl_PTHREAD_COND): When <pthread.h> does not exist,
set HAVE_PTHREAD_COND_* to 0, not to 1.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr:
- backport from upstream gnulib
- drop upstream's Changelog hunk
- reisntate Fabrice's SoB
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
m4/pthread-cond.m4 | 18 +++++++++---------
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/m4/pthread-cond.m4 b/m4/pthread-cond.m4
index 75e37c6138..8922a8a243 100644
--- a/m4/pthread-cond.m4
+++ b/m4/pthread-cond.m4
@@ -1,5 +1,5 @@
-# pthread-cond.m4 serial 1
-dnl Copyright (C) 2019-2020 Free Software Foundation, Inc.
+# pthread-cond.m4 serial 2
+dnl Copyright (C) 2019-2021 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -23,14 +23,14 @@ AC_DEFUN([gl_PTHREAD_COND],
REPLACE_PTHREAD_COND_DESTROY=1
else
if test $HAVE_PTHREAD_H = 0; then
- HAVE_PTHREAD_COND_INIT=1
- HAVE_PTHREAD_CONDATTR_INIT=1
- HAVE_PTHREAD_CONDATTR_DESTROY=1
- HAVE_PTHREAD_COND_WAIT=1
- HAVE_PTHREAD_COND_TIMEDWAIT=1
- HAVE_PTHREAD_COND_SIGNAL=1
- HAVE_PTHREAD_COND_BROADCAST=1
- HAVE_PTHREAD_COND_DESTROY=1
+ HAVE_PTHREAD_COND_INIT=0
+ HAVE_PTHREAD_CONDATTR_INIT=0
+ HAVE_PTHREAD_CONDATTR_DESTROY=0
+ HAVE_PTHREAD_COND_WAIT=0
+ HAVE_PTHREAD_COND_TIMEDWAIT=0
+ HAVE_PTHREAD_COND_SIGNAL=0
+ HAVE_PTHREAD_COND_BROADCAST=0
+ HAVE_PTHREAD_COND_DESTROY=0
fi
fi
])
--
2.30.2

View File

@ -0,0 +1,35 @@
From 67610020ce7c321678ef59af95fde0483e8e8149 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 4 Apr 2021 21:09:19 +0200
Subject: [PATCH] lib/pthread-cond.c: use tv.nsec instead of tv.usec
Use tv.nsec instead of tv.usec to avoid the following build failure:
lib/pthread-cond.c: In function 'pthread_cond_wait':
lib/pthread-cond.c:121:16: error: 'struct timespec' has no member named 'tv_usec'; did you mean 'tv_sec'?
121 | duration.tv_usec = 0;
| ^~~~~~~
| tv_sec
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[upstream status: https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00044.html]
---
lib/pthread-cond.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/pthread-cond.c b/lib/pthread-cond.c
index baa7c60bb..c2c00be03 100644
--- a/lib/pthread-cond.c
+++ b/lib/pthread-cond.c
@@ -118,7 +118,7 @@ pthread_cond_wait (pthread_cond_t *cond _GL_UNUSED,
struct timespec duration;
duration.tv_sec = 86400;
- duration.tv_usec = 0;
+ duration.tv_nsec = 0;
nanosleep (&duration, NULL);
}
}
--
2.30.2

View File

@ -10,6 +10,8 @@ COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz
COREUTILS_LICENSE = GPL-3.0+
COREUTILS_LICENSE_FILES = COPYING
COREUTILS_CPE_ID_VENDOR = gnu
# We're patching m4/pthread-cond.m4
COREUTILS_AUTORECONF = YES
COREUTILS_CONF_OPTS = --disable-rpath \
$(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex)